def foo(n: int)->int
可以看出来,->是python中函数返回值的注解,而冒号后面的就是参数的注解了,十分好理解.
在官方文档指明你写的注释将被保存在__annotations__这个方法中.但是这并不意味着和c/c++
中一样会限制你的变量类型,它对你的程序没有任何的影响除了将你的注释保存在__annotations__中,
这个只是个注释.怎么舒服怎么用
举个例子就明白了
def foo(a: int, b: int) -> int: return int(a) + b print(foo.__annotations__) print(foo(1, 2)) print(foo("1", 2))
{'a': <class 'int'>, 'b': <class 'int'>, 'return': <class 'int'>}
3
3
可以发现根本没有影响.
注释你可以写很长,也可以写各种表达式.详细请看官方文档.