Python 函数参数有冒号 声明后有- 箭头 返回值注释 参数类型注释
在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 函数参数有冒号 声明后有- 箭头 返回值注释 参数类型注释相关推荐
- python冒号声明类型_Python 函数参数有冒号 声明后有- 箭头 返回值注释 参数类型注释...
在python3.7 环境下 函数声明时能在参数后加冒号,如图: 1 def f(ham: str, eggs: str = 'eggs') -> str : 2 print("Ann ...
- Python 函数参数有冒号 声明后有- 箭头
在python3.7 环境下 函数声明时能在参数后加冒号,如图: def f(ham: str, eggs: str = 'eggs') -> str :print("Annotati ...
- python中gt是什么意思_Python中的函数参数有冒号 声明后有-gt; 箭头
在python3.7 环境下 函数声明时能在参数后加冒号,如图: def f(ham: str, eggs: str = 'eggs') -> str : print("Annotat ...
- 16.JavaScript函数、return陷阱、函数定义、参数传递、默认参数、局部变量、全局变量、返回值、技巧
文章目录 函数 函数的定义 局部变量 外部变量 内外变量重名 参数 参数默认值 年长代码的默认参数 空值合并运算符的应用 返回值 return陷阱 小技巧 函数 在编程过程中,我们经常需要在很多地方使 ...
- C++函数的定义、函数返回值和参数类型、函数重载、重载函数等。
一.函数 1.何为函数? 能够执行一个功能的可复用的用大括号括起来的代码块: 2.按照函数的拥有者进行分类: 预定义函数:头文件中提供的预定义函数(内置):用户可以直接调用: 自定义函数:用户根据需要 ...
- python CV2中shape和resize返回值和参数的区别
python CV2中shape和resize返回值和参数的区别 1.在一副图像中使用shape得到一个3个类别的列表 shape[0] =图像的高 shape[1] =图像的宽 shape[2] = ...
- SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器
SpringMVC入门(二)-- 参数的传递.Controller方法返回值.json数据交互.异常处理.图片上传.拦截器 参考文章: (1)SpringMVC入门(二)-- 参数的传递.Contro ...
- MATLAB中如何忽略函数中前几个不需要的返回值而只取需要的返回值,例如:只取函数第二个返回值,而忽略第一个返回值
1 致谢 感谢网友honglei.chen的回答, 原文链接如下: https://www.ilovematlab.cn/thread-203269-1-1.html 2 前言 今天在学习神经网络算法 ...
- C#调用存储过程详解(带返回值、参数输入输出等)
C#调用存储过程详解(带返回值.参数输入输出等) 这篇文章主要介绍了C#调用存储过程的方法,结合实例形式详细分析了各种常用的存储过程调用方法,包括带返回值.参数输入输出等,需要的朋友可以参考下 本文实 ...
最新文章
- 人生苦短,我用PyCharm(附链接)
- 【Android开发】图形图像处理技术-绘制几何图形
- JDBC——入门知识【转】
- Failed resolution of: Landroid/support/v7/internal/widget/TintManager;异常解决方法
- AOJ GRL_1_B: Shortest Path - Single Source Shortest Path (Negative Edges) (Bellman-Frod算法求负圈和单源最短路径)
- ci php redis,一次基于CI的Redis性能问题定位
- python3对接聊天机器人API
- clickjacking:X-frame-options header missing 漏洞解决办法
- html5电商销售网站统计后台模板html5电商销售网站统计后台模板
- 吃PHP小孩智力好,毁掉孩子智商的4类食物 别再给孩子吃了!
- 什么地图可以室内导航?室内导航技术发展趋势
- 2020年度CSDN博客之星评选——【Mr.郑先生_】感谢各位朋友的支持与陪伴!
- 华为云服务部署Rstudio Server
- Matlab课后笔记之霍夫变换(Hough Transform)
- Excel之用Sumifs完成多条件多列的求和
- python爬iptv直播源_GitHub - xkloveme/iptv-m3u: python 爬的直播源数据
- 数字信号处理专业术语翻译
- 3D云打印系统OctoPrint,中文化详细图文教程
- KCon 2017黑客大会实录:那些年轻黑客是如何成长的?
- Python爬虫编程思想(52):使用Beautiful Soup选择子节点
热门文章
- php rabbmq教程_RabbitMQ+PHP 教程一(Hello World)
- 程序员如何讲清楚技术方案
- 超详细中文预训练模型ERNIE使用指南-源码
- LeetCode简单题之同构字符串
- 云端一体全栈解决方案
- 将TVM集成到PyTorch
- A100 GPU硬件架构
- 客快物流大数据项目(四):大数据项目为什么使用Docker
- 2021年大数据Flink(二十三):​​​​​​​Watermaker案例演示
- 阿里云https认证