Python学习第十七课——组合
组合1
#组合 1
class Hand:
pass class Foot:
pass class Trunk:
pass class Head:
pass class Person:
def __init__(self, id_num, name):
self.id_num = id_num
self.name = name
self.hand = Hand()
self.foot = Foot()
self.trunk = Trunk()
self.head = Head() p1=Person('','join') print(p1.__dict__)
组合2
class School:
def __init__(self, name, addr):
self.name = name
self.addr = addr class Course:
def __init__(self, name, price, period, school):
self.name = name
self.price = price
self.period = period
self.school = school s1 = School('家里蹲', '郑州')
s2 = School('市里蹲', '开封') c1 = Course('python', 10, '10天', s1)
c2 = Course('python', 100, '100天', s2)
# print(c1.__dict__)
print(c1.school.name) # 家里蹲
print(c2.school.name) # 市里蹲
print(c1.school.addr) # 郑州
print(c2.school.addr) # 开封
组合例子之点课系统
# 点课系统
class School:
def __init__(self, name, addr):
self.name = name
self.addr = addr class Teacher: # 老师应该与课程进行关联
def __init__(self, name, gongzi,course):
self.name = name
self.gongzi = gongzi
self.course=course class Course:
def __init__(self, name, price, period, school, teacher): # 课程应该和学校 还有 老师进行关联
self.name = name
self.price = price
self.period = period
self.school = school
self.teacher = teacher s1 = School('家里蹲', '郑州')
s2 = School('市里蹲', '开封')
s3 = School('县里蹲', '兰考')
t1 = Teacher('憨憨', 10000, 'python')
t2 = Teacher('玫玫', 1000, '安卓')
t3 = Teacher('浩浩', 100, 'c')
msg = '''
1 家里蹲 郑州校区
2 市里蹲 开封校区
3 县里蹲 兰考校区
'''
msg1 = '''
4 憨憨 python
5 玫玫 安卓
3 浩浩 c
'''
while True:
print(msg)
menu = {
'': s1,
'': s2,
'': s3
}
print(msg1)
teacher_menu = {
'': t1,
'': t2,
'': t3,
}
choice = input('选择学校>>>')
school_obj = menu[choice] # 获取学校信息 name = input('选择课程>>>')
teacher_obj = teacher_menu[name] # 获取老师信息
gongzi = t1.gongzi
price = input('选择费用>>>')
period = input('选择周期>>>')
teacher = input('选择老师>>>') new_course = Course(name, price, period, school_obj, teacher_obj) # print(new_teacher.__dict__)
print('课程【%s】属于【%s】学校 老师为 %s' % (new_course.teacher.course, new_course.school.name, new_course.teacher.name))
#课程【python】属于【家里蹲】学校 老师为 憨憨
Python学习第十七课——组合的更多相关文章
- Python学习第二十七课——写一个和Django框架的自己的框架
MyWeb框架: from wsgiref.simple_server import make_server def application(environ, start_response): pri ...
- Python学习第七课
Python学习第七课 'Alex' "Alex"print('hello'*5) #重复输出字符串 print('hellowold'[2:]) #类似于切片操作:会取出 llo ...
- Python学习第六课
Python学习第六课 课前回顾 列表 创建 通过 [] :写在[]里,元素之间用逗号隔开 对应操作: 查 增 append insert 改(重新赋值) 删除(remove del pop(删除后会 ...
- Python学习,第一课 - 基础学习
前言. 本内容全部以python3所讲 一.Python安装 windows 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\pyth ...
- python 学习笔记十七 django深入学习二 form,models
表单 GET 和 POST 处理表单时候只会用到GET 和 POST 方法. Django 的登录表单使用POST 方法,在这个方法中浏览器组合表单数据.对它们进行编码以用于传输.将它们发送到服务器然 ...
- Python学习日记(十七) os模块和sys模块
os模块 1.os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 import os print(os.getcwd()) #C:\Users\Administrator\ ...
- Python 学习第十七天 jQuery
一,jQuery 知识详解 利用jquery 查找元素,操作元素 1,jquery 引入 <!DOCTYPE html> <html lang="en"> ...
- Python学习笔记 第一课 列表
Python的列表就像是一个数组: 一.创建列表 movies=["The Holy Grail","Then Life of Brian","The ...
- python学习第十七天 --定制类
何为定制类? Python的class允许定义许多特殊方法,可以让我们非常方便地生成特定的类.在类中应用或者重写python的特殊方法,得到的类,就是定制类. 大家都知道print的用法.见下面例子 ...
随机推荐
- Centos6.10-FastDFS-Tracker.conf示例配置
Centos610系列配置 FastDFS_Tracker.conf示例配置 # is this config file disabled # false for enabled # true for ...
- iso15693芯片读写工具套件 icode-slix2读写 nfc type 5 tag读写
iso15693芯片读写工具套件 icode-slix2读写 nfc type 5 tag读写校验套件 iso15693工具套件支持icode-slix,icode-slix2芯片的读写,支持iso1 ...
- 《爬虫学习》(一)(HTTP协议)
Http请求: 1.在浏览器中发送一个http请求的过程: 2.url详解: URL是Uniform Resource Locator的简写,统一资源定位符. 一个URL由以下几部分组成 scheme ...
- Java编写POST请求
package com.mytesting; import java.io.DataOutputStream; import java.io.InputStream; import java.net. ...
- C语言程序设计100例之(26):二进制数中1的个数
例26 二进制数中1的个数 问题描述 如果一个正整数m表示成二进制,它的位数为n(不包含前导0),称它为一个n位二进制数.所有的n位二进制数中,1的总个数是多少呢? 例如,3位二进制数总共有4个, ...
- mybatis批量插入和更新
批量插入 <insert id="add" parameterType="java.util.List"> insert all <forea ...
- nginx 解决 connect() failed (111: Connection refused) while connecting to upstream,
嗯哼,刚装了个ubuntu的lnmp,我的天啊,踩的坑比我脂肪还多了 比如刚装完的时候访问显示502, 也不知道什么问题,就去看了一下nginx日志 /var/log/nginx/error.log ...
- appium 无法通过工具定位webview页面元素的问题
app里面页面有原生和webview的,或者H5的 1.手机百度搜索结果页面 手机百度,点击搜索输入框,输入关键字点击搜索,出来的搜索结果页面,无法通过UI automator viewer来定位元素 ...
- java实现二维码的生成和解析:QRCode、zxing 两种方式
第一种:QRCode.jar,使用QRCode生成和解析二维码 1.导入jar包 2.代码 (1)QRCodeUtil .java import com.swetake.util.Qrcode; i ...
- 12306 selenium 模拟登录
# 下面是12306 实现的模拟登陆 # 解码 应用超级鹰,注册用户,左侧栏软件ID进去,开启一个新软件,拿到软件ID # 下面测试都在jupyter里面实现 # 超级鹰类 cell import r ...