python从入门到实践9-10,9-11,9-12

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()
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值