~玉米糊~
慢慢来,也会很快。 非宁静无以志学,学什么都一样,慢慢打基础,找规律、认真、坚持,其余的交给时间。

1. python是否支持多继承,请举例说明

支持多继承

class Calculator:
    def calculate(self, expression):
        return eval(expression)

class MyPrint:
    def print(self, msg):
        print('msg:', msg)

class MyCalculator1(Calculator, MyPrint):
    pass

my1 = MyCalculator1()
v = my1.calculate("1 + 3 * 6")
my1.print(v)

  

2. 如果python类的多个父类存在相同的成员,按着什么规则处理

class Calculator:
    def calculate(self, expression):
        self.value = eval(expression)
        return self.value

    def printResult(self):
        print('计算结果:{}'.format(self.value))

class MyPrint:
    def print(self, msg):
        print('msg:', msg)

    def printResult(self):
        print('result:{}'.format(self.value))

class MyCalculator1(Calculator, MyPrint):
    pass

class MyCalculator2(MyPrint, Calculator):
    pass

my1 = MyCalculator1()
v = my1.calculate("1 + 3 * 6")
my1.print(v)
my1.printResult()

my2 = MyCalculator2()
v = my2.calculate("1 + 3 * 6")
my2.print(v)
my2.printResult()

 

msg: 19
计算结果:19
msg: 19
result:19

 

如果多个父类存在冲突的成员,那么会使用最先遇到的成员(按照继承类的先后顺序)

posted on 2022-04-21 09:00  yuminhu  阅读(35)  评论(0编辑  收藏  举报