python之类的组合
类的组合
学校与课程没有共同点,课程与老师没有共同点,但是学校与课程有关联,课程与老师有关联;学校、课程、老师是三个完全不同的类;课程是属于学校的,老师是教课程的,此时我们就用到类的组合来关联,学校-课程,课程-老师;
class School:
"""
学校类
"""
def __init__(self,name,address):
self.name = name
self.address = address
class Course:
"""
课程类
"""
def __init__(self,name,price,period,school):
self.name = name
self.price = price
self.period = period
self.school = school
class Teacher:
"""
老师类
"""
def __init__(self,name,gender,age,course):
self.name = name
self.gender = gender
self.age = age
self.course = course
#学校实例化
x1 = School("oldboy","北京校区")
x2 = School("oldboy","天津校区")
x3 = School("oldboy","南京校区")
#课程实例化
k1 = Course("python",19880,"6个月",x1) #课程与学校关联
k2 = Course("linux",17880,"4个月",x2)
k3 = Course("go",20000,"8个月",x3)
#教师实例化
j1 = Teacher("alex","male",34,k2) #教师与课程关联
j2 = Teacher("武sir","male",30,k1)
j3 = Teacher("林海峰","male",35,k3)
print(k1.__dict__)
print(k1.school.name)
print(j1.__dict__)
print(j1.course.name)
class School:
"""
学校类
"""
def __init__(self,name,address):
self.name = name
self.address = address
class Course:
"""
课程类
"""
def __init__(self,name,price,period,school):
self.name = name
self.price = price
self.period = period
self.school = school
class Teacher:
"""
老师类
"""
def __init__(self,name,gender,age,course):
self.name = name
self.gender = gender
self.age = age
self.course = course
#学校实例化
x1 = School("oldboy","北京校区")
x2 = School("oldboy","天津校区")
x3 = School("oldboy","南京校区")
#课程实例化
k1 = Course("python",19880,"6个月",x1) #课程与学校关联
k2 = Course("linux",17880,"4个月",x2)
k3 = Course("go",20000,"8个月",x3)
#教师实例化
j1 = Teacher("alex","male",34,k2) #教师与课程关联
j2 = Teacher("武sir","male",30,k1)
j3 = Teacher("林海峰","male",35,k3)
print(k1.__dict__)
print(k1.school.name)
print(j1.__dict__)
print(j1.course.name) msg = """
1 oldboy 北京校区
2 oldboy 天津校区
3 oldboy 南京校区
"""
res = """
1 python
2 linux
3 go
"""
while True:
print(msg)
menu = {
"":x1,
"":x2,
"":x3,
}
choice = input("选择学校>>>:")
school_boj = menu[choice]
name = input("课程名称>>>:")
price = input("课程价钱>>>:")
period = input("课程周期>>>:")
new_course = Course(name,price,period,school_boj)
print("课程【%s】属于【%s】学校"%(new_course.name,new_course.school.name))
print(res)
inner = {
"":k1,
"":k2,
"":k3, }
choice1 = input("选择课程>>>:")
course_boj = inner[choice1]
name = input("老师名称>>>:")
gender = input("老师性别>>>:")
age = input("老师年龄>>>:")
new_teacher = Teacher(name,gender,age,course_boj)
print("老师【%s】教的是【%s】"%(new_teacher.name,new_teacher.course.name))
选课系统
python之类的组合的更多相关文章
- 7 python 类的组合
1.组合与重用性 软件重用的重要方式除了继承之外还有另外一种方式,即:组合 组合指的是,在一个类中以另外一个类的对象作为 1.一个类的属性可以是一个类对象,通常情况下在一个类里面很少定义一个对象就是它 ...
- python编写排列组合,密码生产功能
python编写排列组合 python在编写排列组合是会用到 itertools 模块 排列 import itertools mylist = list(itertools.permutation ...
- python 参数的组合
现在我们知道python定义函数的参数类型有:必选参数 默认参数 可变参数 关键字参数 但是在我们日常中我们是可以组合使用这些参数的:但是使用的时候,参数定义是有顺序的 定义的顺序必须是:必选参数,默 ...
- python面向对象编程之组合
前面讲了面向类与对象的继承,知道了继承是一种什么"是"什么的关系. 然而类与类之间还有另一种关系,这就是组合 先来看两个例子: 先定义两个类,一个老师类,老师类有名字,年龄,出生的 ...
- 【Python】排列组合itertools & 集合set
■itertools 利用python的itertools可以轻松地进行排列组合运算 itertools的方法基本上都返回迭代器 比如 •itertools.combinations('abcd',2 ...
- python(Django之组合搜索、JSONP、XSS过滤 )
一.组合搜索 二.jsonp 三.xss过滤 一.组合搜索 首先,我们在做一个门户网站的时候,前端肯定是要进行搜索的,但是如果搜索的类型比较多的话,怎么做才能一目了然的,这样就引出了组合搜索的这个案例 ...
- python类的组合
类的组合,即在类实例化时,将另一个类的实例作为参数传入,这样可以将两个实例关联起来. 当类之间有显著不同,并且较小的类是较大的类所需要的组件时,用组合比较好. 例如,描述一个机器人类,这个大类是由很多 ...
- python 实现排列组合
1.python语言简单.方便,其内部可以快速实现排列组合算法,下面做简单介绍. 2.一个列表数据任意组合 2.1主要是利用自带的库 #_*_ coding:utf-8 _*_ #__author__ ...
- python 继承与组合
一.组合 #老师 课程 生日 class Course: def __init__(self,name,period,price): self.name = name self.period = pe ...
- python基础之组合继承多态
组合 1.什么是组合 组合就是一个类的对象具备一个指向另外一个类的对象的属性 2.为何用组合 组合可以减少代码冗余 3.如何使用 class People: def __init__(self,nam ...
随机推荐
- Vue学习之路第十七篇:全局过滤器的使用
1.过滤器 ①:Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化.过滤器可以用在两个地方:插值表达式和 v-bind 表达式 (后者从 2.1.0+ 开始支持).过滤器应该被添加在 Ja ...
- Project Euler 21 Distinct primes factors( 整数因子和 )
题意: 记d(n)为n的所有真因数(小于n且整除n的正整数)之和. 如果d(a) = b且d(b) = a,且a ≠ b,那么a和b构成一个亲和数对,a和b被称为亲和数. 例如,220的真因数包括1. ...
- nyoj252-01串
01串 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有"11"子串的这种长度的0 ...
- 搞定PHP面试 - 深入了解引用
1. 什么是引用 在 PHP 中引用是指用不同的名字访问同一个变量内容.PHP 中的变量名和变量内容是不一样的, 因此同样的内容可以有不同的名字.最接近的比喻是 Unix 的文件名和文件本身--变量名 ...
- Hibernate之HQL基本用法
关于HQL HQL与SQL非常类似,只不过SQL的操作对象是数据表,列等对象,而HQL操作的是持久化类,实例,属性等. HQL是完全面向对象的查询语言,因此也具有面向对象的继承,多态等特性. 使用HQ ...
- 免费ftp服务器FileZilla Server配置
FileZilla Server下载安装完成后,必须启动软件进行设置,由于此软件是英文,本来就是一款陌生的软件,再加上英文,配置难度可想而知,小编从网上找到一篇非常详细的教程进行整理了一番,确保读到这 ...
- vue-cli快速搭建
vue-cli是用于开发大型vue项目的脚手架工具,使用vue-cli搭建好平台后,只需要关注程序的开发,不用过多的花时间去思考文件配置的问题 当然,还是可以任意进行自定义配置,官方地址:vue-cl ...
- php RSA 简单实现
这是rsa_private_key.pem-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC ...
- HDOJ 4944 FSF’s game
http://blog.csdn.net/keshuai19940722/article/details/38519681 不明真相的补一发... FSF's game Time Limit: 900 ...
- Leetcode--easy系列2
#14 Longest Common Prefix Write a function to find the longest common prefix string amongst an array ...