我有其自变量和方法的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实例的自变量,是否正确? 但是如果我想要一个类函数使用自变量(我的意思是一个已经设置的值)的另一个类实例,我必须使用继承,正确的?