2015-04-04 15 views
-1

我正在製作一個程序,該程序使用了一個名爲「lev」的變量,它必須用於我的所有函數中,但它不需要是該函數的參數。我的意思是,功能使得一些事情,然後改變「利」的價值,所以我需要的東西是這樣的:沒有使用預先創建的元素的參數的函數

>>> lev=8 
>>> def t(): 
>>>  print 1+1 
>>>  lev = lev+1 
>>> t() 
>>> lev 
9 

這是我的第一個想法,但在實踐中,這樣做,是行不通的。

我不能使用「return」來獲得新的「lev」變量,因爲有些函數需要從它們返回True或False並編輯「lev」的值,所以我可以'使用「返回」命令。有人有一個想法?由於

+0

這就是功能是一回事,他們有自己的範圍。 – 2015-04-04 06:58:37

+0

加上你說的實際工作的代碼是不可能的。 'lev'是該函數的局部變量,因此它會因'UnBoundLocalError'失敗。 – 2015-04-04 07:03:33

+0

總是比使用全局變量更好的解決方案。 Python函數可以返回多個值。 – Daniel 2015-04-04 07:22:25

回答

1

定義它global lev的功能...

>>> lev=8 
>>> def t(): 
>>>  global lev 
>>>  print 1+1 
>>>  lev = lev+1 
>>> t() 
>>> lev 
9 
相關問題