亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【2023年】第53天 super函數以及多重繼承

標簽:
Python

一、super函数

  • python子类继承父类的方法而使用的关键字,当子类继承父类后,就可以使用父类的方法了
# coding:utf-8

class Parent(object):
    def __init__(self, p):
        print('hello i am parent %s' % p)


class Child(Parent):
    def __init__(self, c, p):
        super(Child, self).__init__('p')
        print('hello i am child %s' % c)


if __name__ == "__main__":
    c = Child(c='Child', p='Parent')
  • 这里需要注意的是super函数可以传入参数,也可以不传入参数,但是为了更好的兼容python2的语法结构,所以我们尽量使用传入参数的写法。

二、类的多重继承

  • 可以继承多个基类/父类。
class Child(Parent1, Parent2, Parent3 ...)
将被继承的类放入子类的参数位中,用逗号隔开
从左向右依次继承
# coding:utf-8

# 1 2 个父类
class Tool(object):
    def work(self):
        return 'tool work'

    def car(self):
        return 'car will run'


class Food(object):
    def work(self):
        return 'food work'

    def cake(self):
        return 'i like cake'


# 继承父类的子类
class Person(Tool, Food):
    pass


if __name__ == "__main__":
    p = Person()
    p_car = p.car()
    p_cake = p.cake()
    print(p_car)
    print(p_cake)

    p_work = p.work()
    print(p_work)
    print(Person.__mro__)  # 查看完整的继承链
  • 首先我们定义两个父类,Tool和Food。
  • 然后在两个父类下都定义work函数。
  • 定义子类,继承于两个父类。
  • 实例化后可以调用到父类中的函数。
  • 当子类中进行多重继承的时候把任何一个父类写到前面的时候就会先继承这个父类。
  • 可以使用__mro__查看Person子类的继承链。
點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消