2012-09-24 51 views
0
empty_string = '' 
string_1 = 'beta' 

def sample(x): 
    empty_string = empty_string + 'alpha' 
    return x 

以外爲什麼不:裏面添加函數值,爲空字符串的函數

empty_string = 'alpha' 

我很困惑,爲什麼empty_string仍然是空後,我添加到它的功能

+0

@阿什維尼的回答是不錯的但是,通常要使字符串函數返回一個新字符串更好,並且調用者可以根據需要更新變量。所以'def alphaize(s):return s +'alpha''然後在函數'empty_string = alphaize('foo')'之外。 –

回答

5

使用global empty_string內部功能,那麼只有你可以修改一個全局變量:

def sample(x): 
    global empty_string 
    empty_string = empty_string + 'alpha' 
    return x