Python函数注释,参数中的冒号与箭头

没有对类型的解释说明的话,往往需要花费更多的时间才能看出函数的参数和返回值是什么类型,有了说明符,可以方便程序员理解函数的输入与输出

def twoSum(num1: int, num2: int=100) -> int:
    sum = num1 + num2
    return sum
    

if __name__ == "__main__":
    print(twoSum.__annotations__)
    print(twoSum(1,2))
    print(twoSum(1))
    print(twoSum('I love ','Arsenal'))
    #print(twoSum('Arsenal'))

这里的参数后的“:”,是‘注解内容’表示了参数输入的数据类型; 箭头‘注解内容’是返回值的类型,使代码更具有阅读性
该函数与以下函数并无差别(除了可读性):

def twoSum(num1, num2=100):
    sum = num1 + num2
    return sum

而上面主函数的输出为:

{'num1': <class 'int'>, 'num2': <class 'int'>, 'return': <class 'int'>}
3
101
I love Arsenal

第一行输出中的__annotations__是函数的保留属性,保存的是函数声明中的注释内容,比如我们使用的对参数"num1",“num2"和返回值的建议类型。
第二行输出是正常用法。
第三行输出验证了:注释内容后可以跟等号”=",意思为未传入实参时,该参数获得的默认值
第四行输出则验证了该解释说明符并非强制检查,我们传入了两个str实参,并不会报错,而是继续进行函数中的加法运算。如果传入的两个实参无法进行函数中规定的运算,则会正常报错。

你可能感兴趣的:(Python函数注释,参数中的冒号与箭头)