【发布时间】:2015-05-10 06:35:29
【问题描述】:
我是 python 编程的初学者,我编写了以下程序以尝试理解范围和类型规则。
a = 5
print(a)
a = "Hello World"
print(a)
我得到以下输出。
5
Hello World
我知道变量是在 python 中动态输入的。当a=5 赋值发生时,解释器理解'a' 是一个整数。
为什么给同一个变量赋值字符串时不报错
【问题讨论】:
-
类似的问题有一些很好的答案stackoverflow.com/questions/11007627/…
-
顺便说一句,这真的与范围规则无关。您刚刚在这里获得了(模块)全局范围。您只能通过定义函数和类来获得新的作用域。 (嗯,这不是完全正确,但现在已经足够接近了。)
-
当同一个变量被赋值为字符串值时不会报错,因为 Python 使用动态类型。这就是它的全部重点。如果无法更改对象类型,它们就不会是动态的。
标签: python