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

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值