Учу питон, прохожу тему по ООП, стоит задача передать в качестве атрибута класса другой класс, пытаюсь реализовать как в учебнике, но интерпретатор выдает сообщение об ошибке, не можете подсказать в чем проблема??
class User():
def __init__(self, first_name, last_name, age):
self.first_name = first_name
self.last_name = last_name
self.age = age
def greeting(self):
self.long_name = self.first_name + ' ' + self.last_name
print('Hello, ' + self.long_name.title() + '!')
class Privileges():
def __init__(self, rules):
self.rules = ['add user', 'edit user info', 'block user']
def privilege(self):
print('Admin can:')
i = 1
for name in self.rules:
print(str(i) + ')' + name.title())
i += 1
class Admin(User):
def __init__(self, first_name, last_name, age):
super().__init__(first_name, last_name, age)
self.rules = Privileges()
new_user = Admin('dan', 'smir', 21)
new_user.privileges.privilege()
new_user.greeting()
Traceback ошибки:
Traceback (most recent call last):
File "C:\Users\user\Desktop\Py crash book\Test\9-1.py", line 28, in
new_user = Admin('dan', 'smir', 25)
File "C:\Users\user\Desktop\Py crash book\Test\9-1.py", line 23, in __init__
self.rules = Privileges()
TypeError: __init__() missing 1 required positional argument: 'rules'