华体比分,深圳活动网,鸽子树胶原蛋白
9-7 管理员: 管理员是一种特殊的用户。编写一个名为admin的类,并让它继承练习9-3或者9-5的user类。添加一个名为privileges的属性,用于存储一个由字符串(如"can add post"、"can delete post"、"can ban user"等)组成的列表。编写一个名为show_privileges()的方法,它显示管理员的权限。创建一个实例并调用这个方法。
class admin(user): def __init__(self, first_name, last_name, age, address): """初始化父类的属性,再初始化管理员特有的属性""" super().__init__(first_name, last_name, age, address) self.privileges = ['can add poet', 'can delete post', 'can ban user'] def show_privileges(self): """显示管理员的权限""" print("\nthis is admin's privileges:") for privilege in self.privileges: print(privilege.title()) admin = admin("beef", "mark", '34', 'yunnan') admin.greet_user() admin.show_privileges()
9-8 权限: 编程一个名为privileges的类,它只有一个属性——privileges,其中存储了9-7所说的字符串。将方法show_privileges()移到这个类中。在admin类中,将一个privileges实例用作其属性。创建一个admin实例,并使用show_privileges()来显其权限。
class privileges: def __init__(self): """初始化属性""" self.privileges = ['can add poet', 'can delete post', 'can ban user'] def show_privileges(self): """显示管理员的权限""" print("this is admin's privileges:") for privilege in self.privileges: print(privilege.title()) class admin(user): def __init__(self, first_name, last_name, age, address): """初始化父类的属性,再初始化管理员特有的属性""" super().__init__(first_name, last_name, age, address) self.privileges = privileges() # 实例用作属性 admin = admin("beef", "mark", '34', 'yunnan') admin.greet_user() admin.privileges.show_privileges()
9-9 电瓶升级: 在electric_car.py版本中,给battery类添加一个名为upgrade_battery()的方法。这个方法检查电瓶容量,如果它不是85,就将它设置为85。创建一辆电瓶容量为默认值的电动汽车,调用方法get_range(),然后对电瓶进行升级,并再次调用方法get_range(),查看汽车续航里程增加了。
class car: ... class battery: ... def upgrade_battery(self): """更新里程""" if self.battery_size != 85: self.battery_size = 85 class electriccar(car): """电动汽车的独特之处""" def __init__(self, make, model, year): """初始化父类的属性""" super().__init__(make, model, year) self.battery = battery() my_tesla = electriccar('tesla', 'model s', 2019) print(my_tesla.get_descriptive_name()) my_tesla.battery.get_range() my_tesla.battery.upgrade_battery() my_tesla.battery.get_range()
9-10 导入restaurant类: 将最新的restaurant类存储在一个模块中。在另一个文件,导入restaurant类,创建一个restaurant实例,并调用restaurant的一个方法,以确认import语句正确无误。
restaurant.py
class restaurant: def __init__(self, restaurant_name, cuisine_type): """初始化属性""" self.restaurant_name = restaurant_name self.cuisine_type = cuisine_type def describe_restaurant(self): """打印餐馆的名字和类型""" print("restaurant name: " + self.restaurant_name.title()) print("cuisine: " + self.cuisine_type.title())
from restaurant import restaurant restaurant = restaurant("love", 'icecream') restaurant.describe_restaurant()
9-11 导入admin类: 以9-8为基础,将user、privileges和admin类存储在一个模块中。再创建一个文件,在其中创建一个admin实例并对其调用方法show_privileges(),以确认一切依然能够正确运行。
all_user.py
class user: ... class privileges: ... class admin(user): ...
import all_user admin = all_user.admin('shirley', 'yang', '18', 'xian') admin.privileges.show_privileges()
9-12 多个模块: 将user类存储在一个模块中,并将privileges和admin类存储在另一个模块中。再创建一个文件,在其中创建一个admin实例并对其调用方法show_privileges(),以确认一切依然能够正确运行。
user.py
class user: ...
admin.py
from user import user class privileges: ... class admin(user): ...
import admin admin = admin.admin('shirley', 'yang', '18', 'xian') admin.privileges.show_privileges()
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python爬虫:Request Payload和Form Data的简单区别说明
浅谈Python中threading join和setDaemon用法及区别说明
Python3-异步进程回调函数(callback())介绍
python继承threading.Thread实现有返回值的子类实例
Python中使用threading.Event协调线程的运行详解
网友评论