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
self.number_served = 0
def describe_restaurant(self):
print("Restaurant name is " + self.restaurant_name + ".")
print("Cuisine type is " + self.cuisine_type + ".")
def open_restaurant(self):
print("Now restaurant is open.")
def set_number_served(self, number):
self.number_served = number
def increment_number_served(self, number):
self.number_served += number
# my_restaurant.py
from restaurant import Restaurant
my_restaurant = Restaurant('小四川', '川菜')
my_restaurant.describe_restaurant()
9-11 导入Admin类:以为完成练习9-8的工作为基础,将User,Privieges和Admin类存储在一个模块中,在创建一个文件,在其中创建一个Admin实例并对其调用方法show_privileges(),以确认一切都能正确的运行。
# user.py
class User():
def __init__(self, first_name, last_name, user_info, login_attempts):
self.first_name = first_name
self.last_name = last_name
self.info = user_info
self.login_attempts = login_attempts
def describe_user(self):
print("first name: " + self.first_name)
print("last name: " + self.last_name)
print("user info: " + self.info)
def greet_user(self):
print("hello " + self.first_name + self.last_name)
def increment_login_attempts(self):
self.login_attempts += 1
def reset_login_attempts(self):
self.login_attempts = 0
class Privileges():
def __init__(self):
self.privileges = ["can add post", "can delete post", "can ban user"]
def show_privileges(self):
for privilege in self.privileges:
print("admin privilege is " + privilege)
class Admin(User):
def __init__(self, first_name, last_name, user_info, login_attempts):
super().__init__(first_name, last_name, user_info, login_attempts)
self.privileges = Privileges()
# admin.py
from user import Admin
admin = Admin('周', '杰伦', '男', 7)
admin.describe_user()
admin.privileges.show_privileges()
9-12 多个模块:将User类存储在一个模块中,并将Privileges和Admin类存储在另一个模块中。在创建一个文件,在其中创建一个Admin实例,并对其调用方法show_privileges(),以确认一切都能正确的运行。
# user.py
class User():
def __init__(self, first_name, last_name, user_info, login_attempts):
self.first_name = first_name
self.last_name = last_name
self.info = user_info
self.login_attempts = login_attempts
def describe_user(self):
print("first name: " + self.first_name)
print("last name: " + self.last_name)
print("user info: " + self.info)
def greet_user(self):
print("hello " + self.first_name + self.last_name)
def increment_login_attempts(self):
self.login_attempts += 1
def reset_login_attempts(self):
self.login_attempts = 0
# privileges_admin.py
from user import User
class Privileges():
def __init__(self):
self.privileges = ["can add post", "can delete post", "can ban user"]
def show_privileges(self):
for privilege in self.privileges:
print("admin privilege is " + privilege)
class Admin(User):
def __init__(self, first_name, last_name, user_info, login_attempts):
super().__init__(first_name, last_name, user_info, login_attempts)
self.privileges = Privileges()
# admin.py
from privileges_admin import Admin
admin = Admin('周', '杰伦', '男', 7)
admin.describe_user()
admin.privileges.show_privileges()