多重継承

Python におけるソフトウェアエンジニアリングの原則

Adam Spannbauer

Machine Learning Engineer at Eastman

Postクラスの作成

Tweet Class File

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...