您的位置:首页 > 编程语言 > Python开发

《Python编程:从入门到实践》学习打卡11-类的导入

2020-07-18 04:48 405 查看

类的导入

单个或多个类的导入

基于不断给类添加功能的复杂性,python允许将类存储在模块中,并在主程序中导入含类的模块,该含类的模块中不仅可以包含一个类,还可以包含多个类,此处需要注意一个细节,在命名上我们将类名当作模块的名字,如car.py,而将使用类的主程序命名为更为具体的名称,如my_car.py,导入的格式如模块的导入一般

from car import Car # 一个模块中导入一个类
from car import Car,ElectricCar #一个模块中导入多个类
from car import * # 导入所有类

课后习题

9-10导入Restaurant类

from restaurant import Restaurant

restaurant_1 = Restaurant('tongfu','zhusu')
restaurant_1.describe_restaurant()
restaurant_1.open_restaurant()
restaurant_1.set_service(12)
restaurant_1.increment_number_served(5)

9-11导入Admin类

class Privileges(): # admin模块
def __init__(self,privileges):
self.privileges = privileges
def show_privileges(self):
for privilege in self.privileges:
print(privilege)

class User():
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name

def describe_users(self):
print('first name is:' + self.first_name)
print('last name is:' + self.last_name)

def greet_user(self):
print('Hello ' + self.first_name + ' ' + self.last_name + ',time for returning money!')

class Admin(User):
def __init__(self, first_name, last_name,privileges):
super().__init__(first_name, last_name)
self.privileges = Privileges(privileges)
from admin import User,Admin,Privileges # 导入模块

right = ['can add post', 'can delete', 'can ban user']
admin = Admin('kobe', 'brayant',right)
admin.privileges.show_privileges()

9-12多个模块

class User(): # user文件
--snip--
from user import User # 包含Privileges和Admin文件的模块,命名为admin模块
class Privileges():
--snip--
class Admin(User):
--snip--
from admin import Privileges,Admin
right = ['can add post', 'can delete', 'can ban user']
admin = Admin('kobe', 'brayant',right)
admin.privileges.show_privileges()

9-13使用OrderedDict

from collections import OrderedDict
vocabularies = OrderedDict()
vocabularies['del'] = 'delete'
vocabularies['lower'] = 'all become lowercase'
vocabularies['upper'] = 'all become capital'
for key,values in vocabularies.items():
print(key + ':' + vocabularies[key])

9-14骰子

from random import randint
class Die():
def __init__(self):
self.side = 6 # 设默认值
def roll_die(self,num):
self.num = num # 设定投掷次数
for i in range(num):
k = randint(1,self.side) # 产生随机投掷产生的数
print(k)
r = Die()
r.side = 10 # 设边数
r.roll_die(10) # 设投的次数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐