Python Object-Oriented Python Inheritance Super!

Elliot Harris
Elliot Harris
1,656 Points

Code Challenge: Super! Task 2

Not sure where I have gone wrong. I have rewatcehd the videos and even tried to follow them changing the appropriate arguments, and when I check my work, all I get is "Bummer: Try again"

inventory.py
class Inventory:
    def __init__(self):
        self.slots = []

    def add_item(self, item):
        self.slots.append(item)

class SortedInventory(Inventory):
    def add_item(self, item):
        super().add_item(self, item)
Elliot Harris
Elliot Harris
1,656 Points

Task 1 was to create the SortedInventory class calling on the Inventory class.

Taks 2 is "Great! Now override the add_item method. Use super() in it to make sure the item still gets added to the list."

1 Answer

Steven Parker
Steven Parker
182,307 Points

When you declare a method, "self" is the first parameter, but when you call a method, you don't need to explicitly pass "self" as an argument. The system provides that for you.