python为什么不像ts一样强制要求标注变量类型?
python是解释型语言,内存管理都是由解释器来做的,基本不需要程序员干预。它会在你对变量赋值的时候判断数据类型,这样灵活性和安全性、开发效率更好。
举个例子:
a=123456
b=123456
print(id(a))
print(id(b))
a=654321
print(id(a))
观察a变量和b变量的内存地址,实际上是一样的,再看a赋值654321后的地址和赋值之前是不一样的。
如果再次对a赋值,
a=78901,
那么a变量的内存地址会再次发生变化,a=654321的时候占用的内存块会因为没有任何引用而被python解释器自动回收处理。
python的解释器对内存管理做了大量工作,提高了程序员开发效率,缺点就是程序运行速度偏慢。