python 类型标注

python是一门动态语言,变量和函数的参数不区分类型,好处是方便,灵活。坏处是别人不能直观的看到数据的类型,IDE也不能给出类型提示。使用类型标注的好处就不言而喻

def f(a: int,b: int)->int: 
  return a+b

a: int = 123
b: str = 'hello'

:符号指定函数的参数类型,用->符号指定函数的返回值类型

注意:

  • python解释器不会因为类型标注而有其他额外的类型校验,检查等。只是方便人看和IDE进行提示,语法检查等工作。
  • python3.5之后的版本才支持,3.5版本不支持。


使用函数的__annotations__属性可以查看参数和返回值的类型

  • 即使变量的值和标注的类型不一致,python也不会报错。可以使用mypy库可以检查py文件类型标注和其值是否一致,一致显示success,不一致则会报错。
    使用方法:
#test.py
def f(a: int,b: int)->int:
    return a+b
c:int = 'aaaa'

安装mypy库:pip install mypy
在test.py所在目录中运行
mypy test.py
结果:

如果成功

#test.py
def f(a: int,b: int)->int:
    return a+b
c:int = 12

则显示:

原文地址:https://www.cnblogs.com/qian-shan/p/12885152.html