python类继承定义

时间:2017-06-11 23:19:39

标签: python

让我们采取下一个代码

class main:
    def __init__(self):
        self.a = 3
        self.b = 4
        self.methods = sub

class sub:
    def printval():
        print(a,b)

如何以这种方式使用主类?

main.methods.printval()

1 个答案:

答案 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()

MainSub之间也没有继承。您只是利用函数调用。

编辑:

完成同样事情的另一种方法,但这次使用继承:

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()