Багаторівневе наслідування

Принципи Software Engineering у Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Створення класу Tweet

  Файл класу Tweet

Принципи Software Engineering у Python

Багаторівневе наслідування

Родовід наслідування

Принципи Software Engineering у Python

Багаторівневе наслідування

Розширене дерево багаторівневого наслідування

Принципи Software Engineering у Python

Множинне наслідування

Дерево множинного наслідування

Принципи Software Engineering у 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().

Принципи Software Engineering у 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!
Принципи Software Engineering у 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']
Принципи Software Engineering у Python

Давайте потренуємось

Принципи Software Engineering у Python

Preparing Video For Download...