让我们采取下一个代码
class main:
def __init__(self):
self.a = 3
self.b = 4
self.methods = sub
class sub:
def printval():
print(a,b)
如何以这种方式使用主类?
main.methods.printval()
答案 0 :(得分:3)
这是一件非常古怪的事情,但这里有了
class Main(object):
__slots__ = ('a', 'b', 'methods')
def __init__(self):
self.a = 3
self.b = 4
self.methods = Sub(self)
class Sub:
__slots__ = ('other')
def __init__(self, other):
self.other = other;
def printval(self):
print(self.other.a, self.other.b)
main = Main()
main.methods.printval()
Main
和Sub
之间也没有继承。您只是利用函数调用。
完成同样事情的另一种方法,但这次使用继承:
class Main(object):
__slots__ = ('a', 'b')
def __init__(self):
self.a = 3
self.b = 4
class Sub(Main):
def printval(self):
print(self.a, self.b)
main = Sub()
main.printval()