Python 函数参数有冒号 声明后有-> 箭头 返回值注释 参数类型注释
2024-10-19 13:35:43
在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 ' + eggs print(f("test",123))
而声明函数后那个箭头:"->" 是返回值的注释,-> str 意思即是提醒函数使用者返回值会是一个str型
最新文章
- 报表控件NCreport教程:报表高级设计
- KMP算法分析
- javac 编译与 JIT 编译
- ObjC.class-cluster
- delphi 10.1 berlin最新的开发框架:咏南中间件+咏南开发框架,购买后提供全部的源码
- go与json
- 【记录】ACM计划
- UIButton 之 按下高亮
- Java IO(四)
- Spring+MyBatis整合过程
- 关于Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/springmvc-demo-01-start]]出错的解决方法
- postgresql某进程占用cpu资源过高,降不下来
- win7频繁提示资源管理器已停止工作解决办法
- ABBYY OCR技术教电脑阅读缅甸语(上)
- Vue.js使用-组件(下篇)
- MyBatis-动态SQL的if、choose、when、otherwise、trim、where、set、foreach使用(各种标签详解), 以及实体间关系配置
- Java 爬虫(获取指定页面中所有的邮箱地址)
- Vue项目中用的Jquery.js和easing.js做的抛物线
- vi语法高亮,自动缩进(转)
- 从Zero到Hero,一文掌握Python关键代码
热门文章
- leetcode 60-80 easy
- HR招聘_(二)_招聘方法论(招聘原因及原则)
- 运行Jmeter时,响应数据中文乱码问题解决办法
- 【python小随笔】Django+错误日志(配置Django报错文件指定位置)
- 从零起步 系统入门Python爬虫工程师
- at: 安排一个任务在未来执行,需要一个atd的系统后台进程
- C++11中的并发
- 51nod1196 字符串的数量
- Directx11教程(62) tessellation学习(4)
- Android Binder设计与实现 – 设计篇