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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 标准化和归一化,请勿混为一谈,透彻理解数据变换[通俗易懂]

    标准化和归一化,请勿混为一谈,透彻理解数据变换[通俗易懂]标准化与归一化1、标准化(Standardization)和归一化(Normalization)概念1.1、定义1.2、联系和差异一、联系二、差异1.3、标准化和归一化的多种方式2、标准化、归一化的原因、用途3、什么时候Standardization,什么时候Normalization4、所有情况都应当Standardization或Normalization么5、一些其他的数据变换方式5.1、l…

    2022年6月23日
    33
  • python替换文件的某个字符串_用Python替换文件中的字符串

    python替换文件的某个字符串_用Python替换文件中的字符串将所有这些代码放入一个名为mass_replace的文件中.在Linux或MacOSX下,您可以执行chmodxmass_replace,然后运行此操作.在Windows下,您可以使用pythonmass_replace后跟相应的参数来运行它.#!/usr/bin/pythonimportosimportreimportsys#listofextensionstorepl…

    2022年5月23日
    148
  • windows杀进程命令_win11开机进入安全模式

    windows杀进程命令_win11开机进入安全模式1、查找占用某端口号的进程netstat-aon|findstr89992、杀之taskkill-f-pid进程号

    2022年9月5日
    3
  • Spring Boot集成AD域实现统一用户认证

    1.引言由于近期需要开发基于JWTToken的统一身份认证服务项目,因此需要集成公司原有的AD域实现用户的身份认证问题,项目采用SpringBoot框架进行开发,在此将相应的集成开发步骤进行记录。1.1LDAP简介目录是一个为查询、浏览和搜索而优化的专业分布式数据库,它呈树状结构组织数据,就好象Linux/Unix系统中的文件目录一样。目录数据库和关系数据库不同,它有…

    2022年4月8日
    238
  • WEBAPP开发技巧总结

    WEBAPP开发技巧总结自Iphone和Android这两个牛逼的手机操作系统发布以来,在互联网界从此就多了一个新的名词-WebApp(意为基于WEB形式的应用程序,运行在高端的移动终端设备)。开发者们都知道在高端智能手机系统中有两种应用程序:一种是基于本地(操作系统)运行的APP;一种是基于高端机的浏览器运行的WebApp,本文将主要讲解后者。WebApp与Native App有何区别呢?Nat

    2022年6月25日
    22
  • java 上传文件到服务器_ameqp服务器网址

    java 上传文件到服务器_ameqp服务器网址privateStringsaveImageReturnPath(MultipartFilemultiFile)throwsIllegalStateException,IOException{ StringdateName=PicFileUtil.randomFileName()+multiFile.getOriginalFilename(); …

    2022年9月5日
    3

发表回复

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

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