功能注释
函数注释是关于用户定义函数使用的类型的完全可选元数据信息(请参阅
注释__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': , 'eggs': , 'return': }
# Arguments: spam eggs
我们可以发现
-> 主要是标记返回值数据类型;
拿上面例子来说,在函数f中,标记参数ham为str类型,eggs为str类型;return的值为->后面标记的类型str。
这样写的话,我们光看代码就可以知道该方法返回什么类型的数据,而不需要去调试。
但是如果指定不一致呢,比如说,我们标记f的返回结果为int,但是实际结果却是str。
此时,开发工具里面应该会报错,提示返回值不对,但是程序照样正常运行,不会抛异常。