函数定义的弊端:因为python不是静态编译型语言,变量类型是在运行期觉得的。python是动态语言,变量随时可以被赋值,且能赋值为不同的类型,动态语言很灵活,但是这种特性也是弊端,要是不做类型检查很难发现是什么类型,只有到运行期间问题才显现出来,或者线上运行时才暴露出问题。 难使用:函数的使用者不知道你的函数设计,不知道该传入什么类型的数据 容易出错
那怎么解决这种动态语言的弊端呢 ,这时候就该叫超级飞侠了,这时候就应该增加文档Documentation String:这只是一个惯例,不是强制的标准,不能要求所有程序员一定要为函数提供说明文档,有时候函数更新了 文档未必会同步更新
举个栗子: 这是类型注解
def add(x,y):
""" #这里就是文档描述 说明
:param x: #pycharm中打出三引号 再回车就会出现下面3列 然后可以说明类型
:param y:
:return:
"""
return x + y
print(help(add)) #这里就是调用函数查看文档说明 help
函数注解Function Annotations
- 函数注解
Python 3.5引入
对函数的参数进行类型注解
对函数的返回值进行类型注解
只对函数参数做一个辅助的说明,并不对函数参数进行类型检查
提供给第三方工具,做代码分析,发现隐