python里的def方法中->代表什么意思

注释__annotations__ 作为字典存储在函数的属性中,对函数的任何其他部分都没有影响。参数注释由参数名称后面的冒号定义,后跟一个表达式,用于评估注释的值。返回注释由->参数列表和冒号表示def语句结尾之间的文字,后跟表达式定义。以下示例具有位置参数,关键字参数和注释的返回值:

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


f('spam')

结果
Annotations: {'ham': <class 'str'>, 'eggs': <class 'str'>, 'return': <class 'str'>}
Arguments: spam eggs
spam and eggs

拿上面例子来说,在函数f中,标记参数ham为str类型,eggs为str类型;return的值为->后面标记的类型str。这样写的话,我们光看代码就可以知道该方法返回什么类型的数据,而不需要去调试。但是如果指定不一致呢,比如说,我们标记f的返回结果为int,但是实际结果却是str。此时,开发工具里面应该会报错,提示返回值不对,但是程序照样正常运行,不会抛异常。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值