0
def inner_function(self):
x = "one"
y = "two"
def outer_function(self):
self.inner_function()
print "X is %" % x
print "Y is %" % y
outer_function()
我所要的輸出是:
>>> X is one
>>> Y is two
我覺得我不理解在Python方法/函數的正確使用self
。
我現在返回的錯誤是:TypeError: outer_function() takes exactly 1 argument (0 given)
感謝您的幫助!
謝謝。就我所知,一種方法是當一個函數與一個類相關聯時。然後,爲了編寫一個方法,我需要引用該方法的類類,這就是爲什麼當我構造方法時將self.method()和def method_name(self):'放在一起的原因? – YPCrumble 2014-09-23 03:58:01
你會使用'self.method()'從同一個類中的另一個方法調用一個方法。在課堂之外,你可以創建一個對象,然後調用該方法,例如'var = MyClass()'後面加'var.method()'。每個有「自我」參數的方法的要點是,在類本身內部,你不知道它可能被調用哪個對象,所以你需要一種方法來引用當前對象是什麼,這就是自我'是一個參考。獨立函數不與對象相關聯,所以'self'會不合適。 – 2014-09-23 03:59:03