实例用作属性

实例用作属性

义为先创建一个实例,再将这个实例变为另一个形参的属性

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()方法

posted on 2022-02-06 17:12  aot_m  阅读(36)  评论(0)    收藏  举报

导航