Multilevel inheritance

Software Engineering Principles in Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Creating a Tweet class

  Tweet Class File

Software Engineering Principles in Python

Multilevel inheritance

Inheritance Family Tree

Software Engineering Principles in Python

Multilevel inheritance

Multilevel Inheritance Family Tree

Software Engineering Principles in Python

Multiple inheritance

Multiple Inheritance Family Tree

Software Engineering Principles in Python

Multilevel inheritance and 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!")

Learn more about multiple inheritance & super().

Software Engineering Principles in Python

Multilevel inheritance and 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 Principles in Python

Keeping track of inherited attributes

# 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 Principles in Python

Let's Practice

Software Engineering Principles in Python

Preparing Video For Download...