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。

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 新经济政策商品经济_2021年国际商务热点

    新经济政策商品经济_2021年国际商务热点新经济的50个新热点2005-06-2114:09  中国机电企业网10多年来,新经济一直沿着“技术发展”和“应用创新”这两个方向奔跑。  这两个方向可以被看作既分立又统一的一对“双螺旋”——技术发展创造了应用的创新环境,而应用的创新往往很快就会触到技术的极限,进而鞭策技术的进一步演进。  在技术和应用这两条线上都可以诞生出引人入胜的商业创意,但是只有当技术和应用的激烈碰撞达到一定的融合程

  • 远程桌面 指定端口_request获取ip地址

    远程桌面 指定端口_request获取ip地址iocp模型的tcp服务端若采用AcceptEx接受连接,在有客户端连接后要获取客户端的ip和端口信息流程:AcceptEx在工作线程收到客户端连接时复制listensocket的信息到新客户端的socketsetsockopt(pOverlapped->hSocket,SOL_SOCKET,SO_UPDATE_ACCEPT_CONTEXT,(cha…

  • 将Matplotlib绘制的图显示到Tkinter中(详细教程)

    将Matplotlib绘制的图显示到Tkinter中(详细教程)

  • c语言输入输出格式

    c语言输入输出格式//最近被某题的输入输出卡了。。。转一波随时看。。。菜哭&lt;spanstyle="font-family:KaiTi_GB2312;font-size:18px;"&gt;本小节介绍的是向标准输出设备显示器输出数据的语句。在C语言中,所有的数据输入/输出都是由库函数完成的。因此都是函数语句。本小节先介绍printf函数和putchar函数。printf函数printf函数称为格式输出函数,其…

  • String,StringBuffer与StringBuilder的区别

    String,StringBuffer与StringBuilder的区别一、JavaString类——String字符串常量字符串广泛应用 在Java编程中,在Java中字符串属于对象,Java提供了 String类来创建和操作字符串。需要注意的是,String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且大量浪费有限的内存空间。我们来看一下这张对String操作时内存变化的图:我们可…

  • IntelliJ IDEA 报错:找不到包或者找不到符号

    IntelliJ IDEA 报错:找不到包或者找不到符号最近在使用IDEA的时候,突然出现过找不到包或者找不到符号的情况,在确定了自己引用存在的情况下,可以尝试以下几种方式来解决,以下是在开发过程中碰过问题同样解决过的几种办法,在此记录下也分享给大家,希望对各位有帮助。1.利用Maven-Reimport2.InvalidateandRestart3.编码统一4.重新编译点开ProjectStructu…

发表回复

您的电子邮箱地址不会被公开。

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