《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) # 设投的次数
相关文章推荐
- 《Python编程:从入门到实践》学习打卡18-数据可视化(一)
- 《Python编程:从入门到实践》学习打卡17-测试代码(下)
- 《Python编程:从入门到实践》学习打卡16-测试代码(上)
- 《Python编程:从入门到实践》学习打卡15-存储数据
- 《Python编程:从入门到实践》学习打卡13-文件和异常
- 《Python编程:从入门到实践》学习打卡12-继承
- python从入门到实践 9-11 导入Admin 类 : 以为完成练习9-8而做的工作为基础, 将User 、 Privileges 和Admin 类存储在一个模块中, 再创建一个文件, 在其中创建
- 《Python编程从入门到实践》Chapter 11练习题
- python编程:从入门到实践学习笔记(一)
- python编程:从入门到实践学习笔记(二)
- Python编程:从入门到实践 5.4.3 练习5-11 序数
- 《Python编程从入门到实践》学习笔记1
- 【day 8】python编程:从入门到实践学习笔记-文件和异常(末附答案代码)
- 《Python编程:从入门到实践》课后练习5-1到5-11
- [置顶] 【day 1】python编程:从入门到实践学习笔记-安装、变量和简单数据类型
- 《Python编程:从入门到实践》学习笔记(4:while 循环与函数)
- Python学习 第一天任务 (一)【基于Python编程从入门到实践】
- 《Python编程:从入门到实践》课后练习3-1到3-11
- 《Python编程:从入门到实践》课后练习6-1到6-11
- 《Python编程:从入门到实践》学习笔记(3:if语句与字典)