多段継承

Pythonで学ぶSoftware Engineeringの原則

Adam Spannbauer

Machine Learning Engineer at Eastman

Tweet クラスを作成する

  Tweet クラスのファイル

Pythonで学ぶSoftware Engineeringの原則

多段継承

継承の家系図

Pythonで学ぶSoftware Engineeringの原則

多段継承

多段継承の家系図

Pythonで学ぶSoftware Engineeringの原則

多重継承

多重継承の家系図

Pythonで学ぶSoftware Engineeringの原則

多段継承と 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で学ぶSoftware Engineeringの原則

多段継承と 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で学ぶSoftware Engineeringの原則

継承属性の把握

# 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で学ぶSoftware Engineeringの原則

Let's Practice

Pythonで学ぶSoftware Engineeringの原則

Preparing Video For Download...