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