Python编程从入门到实践 9-8权限

 

编写一个名为Privileges 的类,它只有一个属性——privileges ,其中存储了练习9-7 所说的字符串列表。将方法show_privileges() 移到这 个类中。在Admin 类中,将一个Privileges 实例用作其属性。创建一个Admin 实例,并使用方法show_privileges() 来显示其权限。

#9-7
class User():
    def __init__(self, first_name, last_name, address):
        self.first_name = first_name
        self.last_name = last_name
        self.address = address

    def describe_user(self):
        print('First name: ' + self.first_name.title())
        print('Last name: ' + self.last_name.title())
        print('Address: ' + self.address.title())

    def greet_user(self):
        self.full_name = self.first_name.title() + ' ' + self.last_name.title()
        print("Welcome come to enjoy us, " + self.full_name.title() + "!")

class Admin(User):
    def __init__(self , first_name , last_name , address):
        super().__init__(first_name , last_name , address)
        self.privileges = Privileges()

#9-8
class Privileges():
    def __init__(self):
        self.priviliges = ['can add post', 'can delete post', 'can ban user']
    def show_privileges(self):
        for n in self.priviliges:
             print("This admin " + n)



z = Admin('Alice' , 'wang' , 'xian')
z.describe_user()
z.greet_user()
print('\nThe power of admin')
z.privileges.show_privileges()  #注意这里第二部分是Admin的属性privileges 并不是Privileges这个类

结果

First name: Alice
Last name: Wang
Address: Xian
Welcome come to enjoy us, Alice Wang!

The power of admin
This admin can add post
This admin can delete post
This admin can ban user

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值