声明函数时,是否应该使用返回注解?
def generate_nine() -> int:
return 9
或者我们可以简单地这样说:
def generate_nine():
return 9
是的,您应该编写返回类型注释以编写更清晰的代码。据说返回类型注释可以增强代码的可读性。
例如:
def get_data(a):
return a ** 2
要知道预期的返回类型是什么并不容易。
如果传入的数据是
float
,函数将返回float
。int
参数,它将返回 int
。因此,为了更好地理解,建议为函数编写参数类型和返回类型。请参阅下面的示例:
def greeting(name: str) -> str:
return 'Hello ' + name
在函数
greeting
中,参数名称的类型应为 str
,返回类型为 str
。子类型被接受作为参数。如果 Python 不需要字符串值,则会引发错误。
与之前的代码相比,代码更加清晰易懂。总而言之,为了编写更清晰的代码,我们应该添加返回类型注释。请参阅这些文档以更好地理解。
更详细地说,Python 2.x 有文档字符串,它允许您将元数据字符串附加到各种类型的对象。这非常方便,因此 Python 3 扩展了该功能,允许您将元数据附加到描述其参数和返回值的函数。
没有预先设想的用例,但 PEP 建议了几个。一种非常方便的方法是允许您使用预期的类型来注释参数;然后很容易编写一个装饰器来验证注释或将参数强制为正确的类型。另一种方法是允许特定于参数的文档,而不是将其编码到文档字符串中。