Python脚本:Python变量范围问题
def show(name):
def getName():
return _name
def setName(value):
_name = value
_name = ''
print('Input parameter: ', name)
print('Global variable: ', say_hello)
print('Change private variable: ', setName(name))
print('Get private variable: ', getName())
print('Private variable: ', _name)
print('Input parameter: ', name)
say_hello = 'hello'
show('Jim')
输出:
Input parameter: Jim
Global variable: hello Change
private variable: None
Get private variable:
Private variable:
Input parameter: Jim
为什么没有内部功能改变的_name
值,但该功能show
可以得到价值say_hello
?我知道这是一个可变范围问题,但我想知道一些细节。
我的python版本是Python 3.2(r32:88445,Feb 21 2011,11:29:37)。 – dghost
谢谢你帮我解释我的问题!感谢大家! :^) – dghost