Python 标注(annotation)

目录

  • 函数标注(function annotation)
  • 变量标注(variable annotation)

函数标注(function annotation)

PEP 484
https://docs.python.org/zh-cn/3/tutorial/controlflow.html?highlight=annotations
Python函数标注(function annotation)是关于用户自定义函数中使用的类型的完全可选元数据信息。

函数标注 以Python字典的形式存放在函数的 __annotations__ 属性中,并且不会影响函数的任何其他部分。
形参标注的定义方式是在形参名称后加上冒号:,后面跟一个表达式,该表达式会被求值为标注的值。
返回值标注的定义方式是加上一个组合符号 ->,后面跟一个表达式,该标注位于形参列表和表示 def 语句结束的冒号之间。 下面的示例有一个位置参数,一个关键字参数以及返回值带有相应标注:

>>> def f(ham: str, eggs: str = 'eggs') -> str:
...     print("Annotations:", f.__annotations__)
...     print("Arguments:", ham, eggs)
...     return ham + ' and ' + eggs
...
>>> f('spam')
Annotations: {'ham': <class 'str'>, 'return': <class 'str'>, 'eggs': <class 'str'>}
Arguments: spam eggs
'spam and eggs'

变量标注(variable annotation)

Python 3.6 PEP 526
对变量或类属性的 annotation。
在标注变量或类属性时,还可选择为其赋值:

class C:
    field: 'annotation'

变量标注通常被用作 类型提示:例如以下变量预期接受 int 类型的值:

count: int = 0

你可能感兴趣的:(Python)