我正在寫大量的代碼,並且我沒有足夠的經驗介紹在python類和函數中使用變量的最佳方式,所以我想我會問對於一些意見。下面是我怎麼能做到這一點python - 在類和函數中使用變量的最佳實踐
class MyClass():
vara = 'Class Variable A'
def __init__(self):
self.varb = 'Class instantiation Variable B'
def a(self):
varc = 2
vard = 3
print 'def a function variables unchanged', varc, vard
MyClass.vara = 'Class Variable A now changed by def a'
def b(self):
print self.varb
self.varb = 'Class instantiation Variable B now changed by def b'
print self.varb
if __name__ == "__main__":
print MyClass.vara
a = MyClass()
a.a()
a.b()
print MyClass.vara
a.a()
這給出了這樣的結果
Class Variable A
def a function variables unchanged 2 3
Class instantiation Variable B
Class instantiation Variable B now changed by def b
Class Variable A now changed by def a
def a function variables unchanged 2 3
我的Django應用程序是使用一類具有大約25功能的示例。它是一個測試應用程序,每個函數代表一個API調用。每個API調用都會根據結果給出幾個變量,並且我需要由函數設置的這些變量供其他函數使用 - 換句話說,我需要通過其他函數調用這些局部函數變量。我想知道做到這一點的最佳方式。
在上面的例子中,我可以使用類中的函數設置類變量vara,通過這樣做MyClass.vara = 'something'
或者我可以設置實例化構造函數__init__
中的變量。然後我可以使用任何函數調用這些變量。
有什麼更好的方法,還是有更好的方法來做到這一點?
好的..我想我會幫你。所以我可以使用一個對象創建很多實例。無論對象是否改變類變量,object.class變量都是相同的,但類的即時變量將獨立於每個對象? – Oli