我還在開始如何在Python中進行編程,而且我只是想知道如何使變量在不同的函數中保持一致。例如,我修改了一個變量的函數。然後,我在另一個函數中再次使用了該變量。如何使修改後的變量出現在第二個函數中?當我嘗試它時,第二個函數使用變量的原始值。你怎樣才能使用修改後的值?我需要爲此使用全局變量嗎?Python:如何使變量在不同的函數中保持一致?
此外,input()函數是否建議在函數內部使用?使用它們有沒有副作用?
我還在開始如何在Python中進行編程,而且我只是想知道如何使變量在不同的函數中保持一致。例如,我修改了一個變量的函數。然後,我在另一個函數中再次使用了該變量。如何使修改後的變量出現在第二個函數中?當我嘗試它時,第二個函數使用變量的原始值。你怎樣才能使用修改後的值?我需要爲此使用全局變量嗎?Python:如何使變量在不同的函數中保持一致?
此外,input()函數是否建議在函數內部使用?使用它們有沒有副作用?
使用global variabale在整個代碼中訪問變量。
演示:
>>> a = 10
>>> def test():
... global a
... a = a + 2
...
>>> print a
10
>>> test()
>>> print a
12
>>>
在課堂上使用類變量是進入該類的所有實例。或者使用實例變量訪問只有相應的類的實例。
您可以在該功能中使用return
。
x = 3
def change1():
x = 5
return x
x = change1()
def change2():
print(x)
change1()
change2()
您可以使用函數頂部的global關鍵字讓python知道您正在嘗試修改全局分數中的變量。或者,您可以使用OOP和類在整個類函數中維護一個實例變量。
x = 5
def modify():
global x
x = 3
modify()
變量需要由兩個函數共有的作用域共享,但這不一定是全局作用域。你可以,例如,把它們放在一個類:
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
完全可變應該存在於哪些範圍取決於你正在試圖做的,這是不是從你的問題不清楚是什麼。
使用input(),你只需要檢查用戶輸入的內容(絕對不要相信他!)。不要讓他輸入可能導致程序崩潰的值。 – vmonteco