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

python里的def 方法中->代表什么意思?功能注释函数注释是关于用户定义函数使用的类型的完全可选元数据信息(请参阅PEP3107和 PEP484了解更多信息)。注释__annotations__ 作为字典存储在函数

大家好,又见面了,我是你们的朋友全栈君。

功能注释

函数注释是关于用户定义函数使用的类型的完全可选元数据信息(请参阅PEP 3107和 PEP 484了解更多信息)。

注释__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': <class 'str'>, 'eggs': <class 'str'>, 'return': <class 'str'>}
# Arguments: spam eggs

 

我们可以发现

-> 主要是标记返回值数据类型;

拿上面例子来说,在函数f中,标记参数hamstr类型eggsstr类型;return的值为->后面标记的类型str

这样写的话,我们光看代码就可以知道该方法返回什么类型的数据,而不需要去调试。

 

但是如果指定不一致呢,比如说,我们标记f的返回结果为int,但是实际结果却是str。

此时,开发工具里面应该会报错,提示返回值不对,但是程序照样正常运行,不会抛异常。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156080.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信小程序实现每日签到功能的方法_小程序签到功能

    微信小程序实现每日签到功能的方法_小程序签到功能微信小程序实现每日签到功能

    2025年7月14日
    2
  • Python 获取动漫番剧 -XXOO[通俗易懂]

    Python 获取动漫番剧 -XXOO[通俗易懂]前言没有什么好说的,就是想起来前些年失恋使劲刷番剧缓解自己糟糕的情绪。纪念下。一、直接上代码1.搜索入口#搜索动漫名称列表defget_video_list(name):#开启代理#proxy={‘http’:’http://127.0.0.1:8080′,’https’:’https://127.0.0.1:8080′}url=’http://www.7666.tv/search.php?searchword=’+nam…

    2022年7月17日
    14
  • 【已解决】Pycharm安装cv2时显示No information available

    【已解决】Pycharm安装cv2时显示No information available【已解决】Pycharm安装cv2时显示Noinformationavailable以下为解决步骤:1、安装opencv-python、numpy、matplotlib;2、然后将pycharm包安装路径下的\venv\Lib\site-packages\cv2下的cv2.cp37-win_amd64.pyd复制到python安装路径下的\venv\Lib\site-packages下;3、验证安装是否成功:输入importcv2,如果不出错代表导入成功。…

    2022年8月25日
    8
  • 一篇文章彻底搞懂浅拷贝和深拷贝的区别_深拷贝和浅拷贝的题

    一篇文章彻底搞懂浅拷贝和深拷贝的区别_深拷贝和浅拷贝的题强烈推荐30个原生JavaScript的demo,包括canvas时钟特效、自定义视频播放器、搜索栏快速匹配、fetch访问资源、console调试技巧等,先fork后学习,详见点击打开链接,欢迎点赞~~~谢谢,共同进步学习!【javascript】详解javaScript的深拷贝目录浅谈深拷贝和浅拷贝 深拷贝和浅拷贝的区别 为什么要使用深拷贝? 深拷贝的要求程度…

    2022年10月1日
    3
  • 使用Python检测符号及乱码字符

    使用Python检测符号及乱码字符最近在进行关键词的分析,中间涉及到对一些特殊的字符进行过滤的需求。包括带符号的(有部分还是SQL注入),并且存在一部分乱码的问题。梳理下来供后续使用。检测字符串是否包含特殊符号方案一:通过字符匹配的方式进行判定defif_contain_symbol(keyword):symbols=”~!@#$%^&*()_+-*/<>,.[]\/”forsymbolinsymbols:ifsymbolinkeyword:

    2022年5月4日
    45
  • 看上市公司公告的app_毒APP公告

    看上市公司公告的app_毒APP公告用户为本,让用户成为CSDN产品的主人,为此,我们特开设了CSDN产品公告栏,切实听取大家对新功能的反馈,定期抽取部分反馈用户赠送精美礼品一份!在过去一周,CSDN研发团队又上线了哪些功能呢?让我一起看下:CSDNAPP发布最新版,新增大厂在线刷题功能CSDN博主排名更新,原创优质博文更容易得到曝光MD编辑器优化操作更便捷更加极客酷炫的博客皮肤3.0上线绑定脉脉即可获得专属勋…

    2022年8月13日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号