не передавать аргументы в super.__init__()
.Как упоминалось в комментариях выше, movie_data
не соответствует ни одному из аргументов в базовом классе, поэтому вам не нужно отправлять эти аргументы в базовый класс, иначе произойдет непредвиденный результат (например, ваш *).1003 * возвращает dict
из movie_data
:)
А затем выполните print(self.publisher)
, поскольку publisher
является свойством экземпляра класса, его необходимо квалифицировать как self
.
class Media:
def __init__(self, publisher = 'Universal Studios', market = 'USA'):
self.publisher = publisher
self.market = market
def get_media_info(self):
print(self.publisher, self.market)
return None
class Movie(Media):
def __init__(self, movie_data):
super().__init__()
self.movie_data = movie_data
def test(self):
print(self.publisher)
m = Movie(movie_data = {'title': 'one', 'rating': 'two'})
m.test()