多層繼承

Python 的軟體工程原則

Adam Spannbauer

Machine Learning Engineer at Eastman

建立 Tweet 類別

  Tweet 類別檔案

Python 的軟體工程原則

多層繼承

繼承家譜圖

Python 的軟體工程原則

多層繼承

多層繼承家譜圖

Python 的軟體工程原則

多重繼承

多重繼承家譜圖

Python 的軟體工程原則

多層繼承與 super

class Parent:
    def __init__(self):
        print("I'm a parent!")


class Child(Parent):
    def __init__(self):
        Parent.__init__()
        print("I'm a child!")

class SuperChild(Child): def __init__(self): super().__init__() print("I'm a super child!")

進一步了解多重繼承與 super()

Python 的軟體工程原則

多層繼承與 super

class Parent:
    def __init__(self):
        print("I'm a parent!")

class SuperChild(Parent):
    def __init__(self):
        super().__init__()
        print("I'm a super child!")

class Grandchild(SuperChild): def __init__(self): super().__init__() print("I'm a grandchild!")
grandchild = Grandchild()
I'm a parent!
I'm a super child!
I'm a grandchild!
Python 的軟體工程原則

追蹤繼承來的屬性

# Create an instance of SocialMedia
sm = SocialMedia('@DataCamp #DataScience #Python #sklearn')

# What methods does sm have? ¯\_(ツ)_/¯ dir(sm)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', 
'__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', 
'__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', 
'__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', 
'__str__', '__subclasshook__', '__weakref__', '_count_hashtags', 
'_count_mentions', '_count_words', '_tokenize', 'hashtag_counts', 
'mention_counts', 'text', 'tokens', 'word_counts']
Python 的軟體工程原則

一起來練習吧!

Python 的軟體工程原則

Preparing Video For Download...