在python3.7 环境下 函数声明时能在参数后加冒号,如图:

1 def f(ham: str, eggs: str = 'eggs') -> str :
2     print("Annotations:", f.__annotations__)
3     print("Arguments:", ham, eggs)
4     return ham + ' and ' + eggs
5
6 print(f("test","abc"))

可能有疑问,python不是动态类型语言 ,难不成还能指定参数类型?

来看一下打印结果:

但同时也确实能传其他类型的值 如:f("test",123)

那结果如何呢? 如下:

当然会报错了啊,返回值是一个字符串,int型不能参与字符串拼接,那参数后写一个:str 和 ->str是什么意思呢?

在官方文档指明.__annotations__是函数的参数注释和返回值注释:

所以打印出Annotations: {'ham': <class 'str'>, 'eggs': <class 'str'>, 'return': <class 'str'>}

其实并没有指定类型 只是写函数的人提醒用函数的人最好传什么类型的参数,因为最后需要两个参数进行字符串拼接;

当然,也可以直接写字符串提醒:

def f(ham: "传一个字符串", eggs: str = 'eggs') -> str :print("Annotations:", f.__annotations__)print("Arguments:", ham, eggs)return ham + ' and ' + eggsprint(f("test",123))

而声明函数后那个箭头:"->" 是返回值的注释,-> str 意思即是提醒函数使用者返回值会是一个str型

Python 函数参数有冒号 声明后有- 箭头 返回值注释 参数类型注释相关推荐

  1. python冒号声明类型_Python 函数参数有冒号 声明后有- 箭头 返回值注释 参数类型注释...

    在python3.7 环境下 函数声明时能在参数后加冒号,如图: 1 def f(ham: str, eggs: str = 'eggs') -> str : 2 print("Ann ...

  2. Python 函数参数有冒号 声明后有- 箭头

    在python3.7 环境下 函数声明时能在参数后加冒号,如图: def f(ham: str, eggs: str = 'eggs') -> str :print("Annotati ...

  3. python中gt是什么意思_Python中的函数参数有冒号 声明后有-gt; 箭头

    在python3.7 环境下 函数声明时能在参数后加冒号,如图: def f(ham: str, eggs: str = 'eggs') -> str : print("Annotat ...

  4. 16.JavaScript函数、return陷阱、函数定义、参数传递、默认参数、局部变量、全局变量、返回值、技巧

    文章目录 函数 函数的定义 局部变量 外部变量 内外变量重名 参数 参数默认值 年长代码的默认参数 空值合并运算符的应用 返回值 return陷阱 小技巧 函数 在编程过程中,我们经常需要在很多地方使 ...

  5. C++函数的定义、函数返回值和参数类型、函数重载、重载函数等。

    一.函数 1.何为函数? 能够执行一个功能的可复用的用大括号括起来的代码块: 2.按照函数的拥有者进行分类: 预定义函数:头文件中提供的预定义函数(内置):用户可以直接调用: 自定义函数:用户根据需要 ...

  6. python CV2中shape和resize返回值和参数的区别

    python CV2中shape和resize返回值和参数的区别 1.在一副图像中使用shape得到一个3个类别的列表 shape[0] =图像的高 shape[1] =图像的宽 shape[2] = ...

  7. SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器

    SpringMVC入门(二)-- 参数的传递.Controller方法返回值.json数据交互.异常处理.图片上传.拦截器 参考文章: (1)SpringMVC入门(二)-- 参数的传递.Contro ...

  8. MATLAB中如何忽略函数中前几个不需要的返回值而只取需要的返回值,例如:只取函数第二个返回值,而忽略第一个返回值

    1 致谢 感谢网友honglei.chen的回答, 原文链接如下: https://www.ilovematlab.cn/thread-203269-1-1.html 2 前言 今天在学习神经网络算法 ...

  9. C#调用存储过程详解(带返回值、参数输入输出等)

    C#调用存储过程详解(带返回值.参数输入输出等) 这篇文章主要介绍了C#调用存储过程的方法,结合实例形式详细分析了各种常用的存储过程调用方法,包括带返回值.参数输入输出等,需要的朋友可以参考下 本文实 ...

最新文章

  1. 人生苦短,我用PyCharm(附链接)
  2. 【Android开发】图形图像处理技术-绘制几何图形
  3. JDBC——入门知识【转】
  4. Failed resolution of: Landroid/support/v7/internal/widget/TintManager;异常解决方法
  5. AOJ GRL_1_B: Shortest Path - Single Source Shortest Path (Negative Edges) (Bellman-Frod算法求负圈和单源最短路径)
  6. ci php redis,一次基于CI的Redis性能问题定位
  7. python3对接聊天机器人API
  8. clickjacking:X-frame-options header missing 漏洞解决办法
  9. html5电商销售网站统计后台模板html5电商销售网站统计后台模板
  10. 吃PHP小孩智力好,毁掉孩子智商的4类食物  别再给孩子吃了!
  11. 什么地图可以室内导航?室内导航技术发展趋势
  12. 2020年度CSDN博客之星评选——【Mr.郑先生_】感谢各位朋友的支持与陪伴!
  13. 华为云服务部署Rstudio Server
  14. Matlab课后笔记之霍夫变换(Hough Transform)
  15. Excel之用Sumifs完成多条件多列的求和
  16. python爬iptv直播源_GitHub - xkloveme/iptv-m3u: python 爬的直播源数据
  17. 数字信号处理专业术语翻译
  18. 3D云打印系统OctoPrint,中文化详细图文教程
  19. KCon 2017黑客大会实录:那些年轻黑客是如何成长的?
  20. Python爬虫编程思想(52):使用Beautiful Soup选择子节点

热门文章

  1. php rabbmq教程_RabbitMQ+PHP 教程一(Hello World)
  2. 程序员如何讲清楚技术方案
  3. 超详细中文预训练模型ERNIE使用指南-源码
  4. LeetCode简单题之同构字符串
  5. 云端一体全栈解决方案
  6. 将TVM集成到PyTorch
  7. A100 GPU硬件架构
  8. 客快物流大数据项目(四):大数据项目为什么使用Docker
  9. 2021年大数据Flink(二十三):​​​​​​​Watermaker案例演示
  10. 阿里云https认证