实例用作属性
实例用作属性
义为先创建一个实例,再将这个实例变为另一个形参的属性
from user import User#调用一个类
class Admin(User):#创建一个类Admin
def __init__(self, first_name, last_name, hobby, birthday, country, login_attempts):
super(Admin, self).__init__(first_name, last_name, hobby, birthday, country, login_attempts)
self.privileges = Privileges()#重点:类Privileges()创建了一个实例,并赋值给self的privilegs属性
class Privileges:
def __init__(self):
self.privileges = ['can add post', 'can delete post', 'can ban user']
def show_privileges(self):
while self.privileges:
privileg = self.privileges.pop()
print(privileg)
admin = Admin('a', 'b', 'play', '9', 'China', 0)
admin.privileges.show_privileges()#调用admin.privileges创建了一个实例,并使用这个实例中的show_privileges()方法