2015-05-17 32 views
0

我還在開始如何在Python中進行編程,而且我只是想知道如何使變量在不同的函數中保持一致。例如,我修改了一個變量的函數。然後,我在另一個函數中再次使用了該變量。如何使修改後的變量出現在第二個函數中?當我嘗試它時,第二個函數使用變量的原始值。你怎樣才能使用修改後的值?我需要爲此使用全局變量嗎?Python:如何使變量在不同的函數中保持一致?

此外,input()函數是否建議在函數內部使用?使用它們有沒有副作用?

+0

使用input(),你只需要檢查用戶輸入的內容(絕對不要相信他!)。不要讓他輸入可能導致程序崩潰的值。 – vmonteco

回答

0

使用global variabale在整個代碼中訪問變量。

演示:

>>> a = 10 
>>> def test(): 
... global a 
... a = a + 2 
... 
>>> print a 
10 
>>> test() 
>>> print a 
12 
>>> 

在課堂上使用類變量是進入該類的所有實例。或者使用實例變量訪問只有相應的類的實例。

0

您可以在該功能中使用return

x = 3 

def change1(): 
    x = 5 
    return x 

x = change1() 

def change2(): 
    print(x) 

change1() 
change2() 
0

您可以使用函數頂部的global關鍵字讓python知道您正在嘗試修改全局分數中的變量。或者,您可以使用OOP和類在整個類函數中維護一個實例變量。

x = 5 

def modify(): 
    global x 
    x = 3 

modify() 
1

變量需要由兩個函數共有的作用域共享,但這不一定是全局作用域。你可以,例如,把它們放在一個類:

class MyClass: 
    def __init__(self): 
     self.x = 10 
    def inc(self): 
     self.x += 1 
    def dec(self): 
     self.x -= 1 

mc = MyClass() 
print mc.x # 10 
mc.inc() 
print mc.x # 11 
mc.dec() 
print mc.x # 10 

完全可變應該存在於哪些範圍取決於你正在試圖做的,這是不是從你的問題不清楚是什麼。

相關問題