python是一门动态语言,它的变量类型是可变的,这个特性提高了代码的开发效率,但是也增加了阅读代码和维护代码的难度。
比如:if login
,作为我知道这个开关应该是bool类型True
或者False
,我们开发时的初衷也是这样的,但是某一次赋值的时候写成 `if login == “True”,如果单元测试不是很完善,这样会让程序发生异常
这只是简单的里面如果是字典结构的多重数据,将很难发现,所以我们开始引入类型标注,它只是为了方便给人或者IDE看,对python解释器无效
1.语法:
: 冒号指定函数参数类型, -> 表示函数返回值类型
def func(num):
print("func函数传入参数为{}".format(num))
return num
print(func(3))
# 类型标注
def func(num: int)->bool:
print("func函数传入参数为{}".format(num))
if num:
return True
else:
return False
print(func(3))
类型标注后,即使你传入是不同类型,强行运行也不会报错,但是IDE会提示
或者你可以pip install mypy 这个库然后进入要测试的文件运行mypy demo.py,它将测试并输出结果,也是为了方便测试
注:一点点觉得有用的小知识分享