69 - Python類是否支持多繼承,請舉例說明

Python是否支持多繼承,請舉例說明

  • Python支持多繼承
class Calculator:
    def calculator(self, expression):
        self.value = eval(expression)
        return self.value
    
    def printResult(self):
        print('result: {}'.format(self.value))
        
class MyPrint:
    def print(self, msg):
        print('msg: ', msg)
        
    def printResult(self):
        print('結果: {}'.format(self.value))
        
class MyCalculator1(Calculator, MyPrint):
    pass

class MyCalculator2(MyPrint, Calculator):
    pass

my1 = MyCalculator1()
print(my1.calculator('8 + 2 * 6'))
my1.print('hello')

my2 = MyCalculator2()
print(my2.calculator('1 + 1 * 1'))
my1.print('world')
20
msg:  hello
2
msg:  world

如果Python類的多個父類存在相同的成員,按着什麼規則處理

  • 如果多個分類存在衝突的成員,會使用最先遇到的成員
my1.printResult()

my2.printResult()
result: 20
結果: 2

70 - 描述異常捕捉語句中else 的作用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章