Python返回类型注释

时间:2020-06-25 04:40:37

标签: python python-3.x function annotations

在声明函数时,我们应该使用返回注释吗?

def generate_nine() -> int:
    return 9

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

def generate_nine():
    return 9

2 个答案:

答案 0 :(得分:1)

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

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

DOCS

答案 1 :(得分:1)

Python 3自动管理的返回类型。因此,我认为编写返回类型很明显。
例如,我在下面编写了一个返回整数的函数:

   def generate_nine_int():
       return 9
   print(type(generate_nine_int()))

此函数返回一个整数。打印功能print

同样,对于浮点数,我编写了另一个函数:

   def generate_nine_float():
       return 9.2
   print(type(generate_nine_float()))

当我打印此函数时,它将打印

同样,对于字符串,字典,列表等,返回类型由Python 3自动管理。因此,我认为在创建函数时无需编写返回类型。这样您就可以使用第二个功能了。