def f():
global s
print s
s = "That's clear."
print s
s = "Python is great!"
f()
print s
输出:
Python is great!
That's clear.
That's clear.
按照程序,最后一个print语句应该返回" s = Python很棒"因为我认为S应该被称为全局变量。
答案 0 :(得分:2)
您修改了函数(f)中的全局变量,因此变量现在具有您最后修改的值 即“#34;那很清楚。"
答案 1 :(得分:0)
输出正确。将s
定义为全局变量后,您打印分配给该Python is great
的s的值,然后将That's clear.
分配给s
- {{1}现在是全局的,所以当你在函数中为它指定s
时,它也会成为外部作用域中的值。
这是关于Scoping Rules的一个很好的stackoverflow答案。