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


相关推荐

  • 查看Linux内核版本的命令_查看redhat版本命令

    查看Linux内核版本的命令_查看redhat版本命令有朋友在使用Linux的过程中要查看Linux的内核版本号,这要怎么看呢?也有朋友文要怎么查看linux系统版本信息呢?下面和小编一起了解一下吧。一、查看linux内核版本号1:登录linux,在终端输入cat/proc/version2:登录linux,在终端输入uname-a即列出linux的内核版本号。二、查看linux系统版本信息1:登录到linux服务器执行lsb_rele…

    2022年10月13日
    2
  • java打印菱形思路[通俗易懂]

    java打印菱形思路[通俗易懂]总共2个大的for循环  里边有小的对吧第一个大的for是打印菱形的上半部分for(i=1;i  { 这个小的for是打印每一行前边的空格   for(j=1;j   System.out.print(“”); 这个是打印星星的   for(j=1;j   System.out.print(“*”); 这个是打印完一行的换行  S

    2022年9月29日
    3
  • cmd查看哪个端口被占用并终止其占用进程

    cmd查看哪个端口被占用并终止其占用进程打开cmd,输入命令:netstat-ano,列出所有端口的情况;查看被占用端口对应的PID,输入命令:netstat-aon|findstr“端口号”,回车,最后一位数字即PID;利用命令taskkill/f/pid进程ID结束进程。…

    2022年5月12日
    38
  • linux基本命令iscsiadm,iscsiadm命令使用方法[通俗易懂]

    linux基本命令iscsiadm,iscsiadm命令使用方法[通俗易懂]1.检查操作系统是否按照iscsi[root@linux01~]#rpm-qa|grepiscsiiscsi-initiator-utils-6.2.0.873-2.el6.x86_64如果没有按照的话,可以使用yuminstall命令进行安装2.检查iscsi服务配置[root@linux01~]#chkconfig–list|grepiscsiiscsi…

    2022年8月23日
    7
  • filter builder_苹果数据分析代码怎么看

    filter builder_苹果数据分析代码怎么看在FilterDispatcher中首先关注的方法是init()和doFilter(),两个有用的局部变量(或者状态)[code="java"]privateFilterConfigfilterConfig;protectedDispatcherdispatcher;[/code]filterConfig用来向filter传递信息,提供了四个方法:[code="java"]…

    2022年8月16日
    5
  • 如何使用gitlab自带的CICD

    如何使用gitlab自带的CICD上次分享了gitlab+jenkins实现CICD,前提我们需要安装一个jenkins。其实高版本的gitlab已经具备CICD功能,笔者使用的版本是:GitLab社区版11.4.10安装RunnersSettings>CI/CD>Runners根据提示点击InstallGitlabRunner下面根据你的系统选择相应的安装包,笔者以linux为例:这里…

    2022年6月1日
    71

发表回复

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

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