Python 返回类型注释

问题描述 投票:0回答:2

声明函数时,是否应该使用返回注解?

def generate_nine() -> int:
    return 9

或者我们可以简单地这样说:

def generate_nine():
    return 9
python python-3.x function annotations
2个回答
1
投票

是的,您应该编写返回类型注释以编写更清晰的代码。据说返回类型注释可以增强代码的可读性。

例如:

def get_data(a):
    return a ** 2

要知道预期的返回类型是什么并不容易。
如果传入的数据是

float
,函数将返回
float

如果函数接收
int
参数,它将返回
int

因此,为了更好地理解,建议为函数编写参数类型和返回类型。请参阅下面的示例:

def greeting(name: str) -> str:
    return 'Hello ' + name

在函数

greeting
中,参数名称的类型应为
str
,返回类型为
str
。子类型被接受作为参数。如果 Python 不需要字符串值,则会引发错误。

与之前的代码相比,代码更加清晰易懂。总而言之,为了编写更清晰的代码,我们应该添加返回类型注释。请参阅这些文档以更好地理解。


1
投票

更详细地说,Python 2.x 有文档字符串,它允许您将元数据字符串附加到各种类型的对象。这非常方便,因此 Python 3 扩展了该功能,允许您将元数据附加到描述其参数和返回值的函数。

没有预先设想的用例,但 PEP 建议了几个。一种非常方便的方法是允许您使用预期的类型来注释参数;然后很容易编写一个装饰器来验证注释或将参数强制为正确的类型。另一种方法是允许特定于参数的文档,而不是将其编码到文档字符串中。

文档

© www.soinside.com 2019 - 2024. All rights reserved.