我有其自變量和方法的Class1一個,和一種方法內我使用來自其它類(等級2)的另一種方法:Python3.x:從其他類不inheritation訪問self.xxx變量
import Class2
class Class1:
def __init__(self):
self.1 = None
self.2 = None
...
def method1(self):
do something
...
def methodN(self):
Class2.method(self):
...
在Class2方法中,我使用Class1的相同自變量名稱(self.1,self.2等)。
我很驚訝的是,當Class2的方法到達結束時,我在Class2方法中使用的自變量仍然存在於Class1對象中。
如果我深知這只是不可能性時的Class2繼承Class1的,如:
import Class1
class Class2(Class1):
Class1.__init__(self):
...
這怎麼可能?
感謝所有
編輯:schwobaseggl,非常感謝你的解釋。現在我已經理解了函數和方法之間的區別(在一些書中,這些詞被用作synonims)。所以在我的情況下,我不使用方法,而是使用函數,我也明白,如果我在Class2中使用self.xxx變量,而該變量不存在於Class1的對象(實例)中,則會爲該實例創建它。這是對的嗎? 所以self.1和self.2是Class1實例的變量,self.1和self.2是Class2函數的變量不一樣,但是Class2的函數覆蓋了Class1實例的自變量,是否正確? 但是如果我想要一個類函數使用自變量(我的意思是一個已經設置的值)的另一個類實例,我必須使用繼承,正確的?