Python中对代码使⽤类型标注
1.为什么要对Python代码进⾏类型标注?
python作为⼀种动态类型语⾔,这使得程序不需要指定变量的类型;python在构建⼤型项⽬上⼀直遭⼈诟病,除了⾃⾝性能在个别领域不尽如⼈意外,动态类型的语⾔特点也使得python并不适合构建⼤型项⽬。
构建⼤型项⽬对于python来说是⼀个技术可⾏但⼯程上困难重重的事情,设想你编写了⼀个函数,定义了若⼲个参数,期初你还记得这些参数的类型是什么,但天长⽇久,写了⼏万⾏代码之后你还会记得这个函数的参数最初都是如何定义的么?倘若你⾃⼰已经遗忘,⼜如何要求其他⼈能够读懂并维护你的代码呢?其他强类型语⾔诸如C++, java 在定义变量时必须指定其类型,因此在维护代码⽅⾯,及时缺少注释也仍然可以通过阅读代码来获取变量的信息,⽽python不可以,如果python开发⼈员不注意变量命名规则,也不喜欢写注释,相信
我,python的代码真的很难理解和维护,尤其在使⽤了⼀⼤堆诸如装饰器等特性之后,理解起来更是难上加难。
但python创始⼈Guido van Rossum在python3.5中引⼊了⼀个类型系统,它允许开发⼈员指定变量类型,
主要作⽤是便于开发维护代码,供IDE和开发⼯具使⽤,对代码运⾏不产⽣任何影响,运⾏时会过滤类型信息。
2.类型标注的使⽤
python新手代码及作用1)使⽤:语句将信息附加到变量或函数参数中
2) ->运算符⽤于将信息附加到函数/⽅法的返回值中
例:
def add(x: int, y: int)->int:
return x + y
print(add(3, 4.3))
通过类型标注,你很容易就了解了使⽤add函数时的参数要求以及函数返回值的类型,不需要添加其他注释,⽽这并没有增加太多⼯作量。尽管类型标注注明了参数y是int类型,但实际调⽤函数时仍然可以传⼊float数据,因为类型标注仅仅被当做注释来处理,⽽不是强制的类型要求, python并没有据此进
⾏类型推断和验证,也没有使⽤类型信息来优化⽣成的字节码以获得安全性或性能,⼀⾔以蔽之,类型标注就是⼀个另类的代码注释。
3.类型标注的优点
1)易于理解代码
2)易于重构
class Stu:
def __init__(self, name: str, age: int):
self.name = name
self.age = age
def out_stu(stu: Stu):
print(stu.name, stu.age)
stu = Stu('⼩明', 14)
out_stu(stu)
3)易于使⽤库
⼤多数编辑器都提供了代码提⽰功能,由于python是动态类型语⾔,有些代码,⽆法确定变量的类型,这时他们就⽆法提供代码提⽰,这⼀点在编写函数尤为明显,由于函数的参数具体是什么类型的,只有在执⾏阶段才能确定,因此编辑⽆法在你编写函数时为你提供代码提⽰功能,但加了类型标注之后就变成了可能。由于已经加了类型标注,编辑器知道参数string是str类型,因此在编写代码时就可以为我们提供字符串可⽤的⽅法列表,这样可以加快代码编写的速度。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论