简介

通过annotation像强类型language那样指定变量类型,包括参数和返回值的类型

因为Python是弱类型语言,这种指定实际上无效的。所以这种写法叫annotation,就是个注释参考的作用。通过annotation可以极大的提升代码可读性

语法为“var_name: type [= value]"

快速入门

>>> fake_num: int = 3  # 这里的 int 是annotion,本身并不会限制具体值的类型
>>> fake_num
3
>>> fake_num = 'abc' # 我们也可以把其他类型的值赋予它
>>> fake_num
'abc'

Type annotation在函数里面的应用

在函数里面用的特别多,用来指定函数参数和返回值的类型

# 指定参数类型
>>> def my_func0(a: int, b: int):
... return a+b
...
>>> my_func0(1, 2)
3
>>> my_func0('a', 'b')
'ab' #指定参数类型和返回值类型
>>> def my_func1(a: int, b: int) -> int:
... return a+b #指定参数类型和返回值类型,并给参数默认值
>>> def my_func(a: int = 0, b: int = 0) -> int:
... return a+b
...
>>> my_func()
0
>>> my_func(1)
1
>>> my_func(1, 1)
2
>>> my_func('a', 'b')
'ab'

最新文章

  1. Android高手速成--第一部分 个性化控件(View)
  2. 小识Tableau
  3. HQL查询——聚集函数
  4. PHPCMS几个有用的全局函数
  5. 7.2---蚂蚁相遇问题(CC150)
  6. BigInteger在Java8中的改进
  7. JavaWeb学习总结(四)—ServletConfig和ServletContext
  8. Gulp 自动化的项目构建工具
  9. Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案
  10. ACdream: Sum
  11. SQL点滴9—SQL Server中的事务处理以及SSIS中的内建事务
  12. 搭建ES6运行环境
  13. http error: "request body stream exhausted"
  14. Webdings字体和Wingdings字体对照表
  15. Spring中的@Bean注解、@Configuration注解、@Value
  16. MySQL-5.7安装
  17. 在storm中运行jar产生模拟数据的时候,遇见的问题
  18. 主席树||可持久化线段树||BZOJ 3524: [Poi2014]Couriers||BZOJ 2223: [Coci 2009]PATULJCI||Luogu P3567 [POI2014]KUR-Couriers
  19. FP增加的索引
  20. 牛客网Wannafly挑战赛15 B车辆安排(模拟)AND C 出队(规律)

热门文章

  1. EasyUI 之datagrid 使用 【DataGrid属性解释】
  2. [WC2018]州区划分(FWT,FST)
  3. NLP 自然语言处理实战
  4. RenderDoc图形调试器详细使用教程(基于DirectX11)
  5. java动态代理--代理接口无实现类
  6. 哪一个 bash 内置命令能够进行数学运算?
  7. park和unpark
  8. 列举 spring 支持的事务管理类型?
  9. 顺利通过EMC实验(15)
  10. css边距重叠的解决方案