# class Teacher:
# def __init__(self, name, age, sex, salary, level):
# self.name = name
# self.age = age
# self.sex = sex
#
# self.salary = salary
# self.level = level
#
# self.courses=[]
# def walk(self):
# print('%s is walking' % self.name)
#
# def teach(self):
# print('%s is teaching' % self.name)
#
# def tell_info(self):
# print('''
# ----------%s info---------
# NAME:%s
# AGE:%s
# SEX:%s
# SAL:%s
# LEVEL:%s
# ''' %(self.name,self.name,self.age,self.sex,self.salary,self.level))
# def tell_course(self): #self=egon
# #self.courses=[]
# # if 'courses' in self.__dict__: #'course' in egon.__dict__
# for obj in self.courses:
# obj.tell_course()
#
# class Date:
# def __init__(self, name,year, mon, day):
# self.name=name
# self.year = year
# self.mon = mon
# self.day = day
# def tell_birth(self):
# print('%s:%s-%s-%s' %(self.name,self.year,self.mon,self.day))
#
# alex = Teacher('alex', 84, 'female', 300000, -1)
#
# Birth = Date(alex.name,1900, 13, 43)
#
# alex.birth = Birth # 组合:alex有生日
#
# 组合的应用
# alex.tell_info()
# alex.walk()
# print(alex.birth)
#alex.birth.tell_birth()
#
#
#
# class Student:
# def __init__(self, name, age, sex, group):
# self.name = name
# self.age = age
# self.sex = sex
#
# self.group=group
#
# self.courses = []
#
# def walk(self):
# print('%s is walking' % self.name)
#
# def study(self):
# print('%s is study' % self.name)
#
# def tell_info(self):
# print('''
# ----------%s info---------
# NAME:%s
# AGE:%s
# SEX:%s
# group:%s
# ''' %(self.name,self.name,self.age,self.sex,self.group))
# xiaohuang=Student('xh',73,'male','group8')
#
# Birth=Date(xiaohuang.name,1899,2,29)
#
# xiaohuang.birth=Birth
#组合应用
# xiaohuang.tell_info()
# xiaohuang.birth.tell_birth()
#
# class Course:
# def __init__(self,name,price,period):
# self.name=name
# self.price=price
# self.period=period
#
# def tell_course(self):
# print('''
# ------------%s info----------
# course name:%s
# course price:%s
# course period:%s
# ''' %(self.name,self.name,self.price,self.period))
# alex = Teacher('alex', 84, 'female', 300000, -1)
# xiaohuang=Student('xh',73,'male','group8')
# python=Course('Python',15800,'6mons')
# linux=Course('Linux',1000,'3mons')
# go=Course('Go',1000,'4mons')
#
# alex.courses=[]
# alex.courses.append(python)
# alex.courses.append(go)
#
#
# xiaohuang.courses=[]
# xiaohuang.courses.append(python)
#
#
#老师
# print(alex.courses)
# alex.courses[0].tell_course()
# alex.courses[1].tell_course()
# for obj in alex.courses:
# obj.tell_course()
#
# # alex.tell_course()
# egon = Teacher('egon', 18, 'male', 300000, 10)
# # egon.courses=[]
# egon.courses.append(linux)
# egon.courses.append(python)
# egon.tell_course()
#学习
# print(xiaohuang.courses)
#改进
class Date:
def __init__(self, name,year, mon, day):
self.name=name
self.year = year
self.mon = mon
self.day = day
def tell_birth(self):
print('%s:%s-%s-%s' %(self.name,self.year,self.mon,self.day))
class Course:
def __init__(self,name,price,period):
self.name=name
self.price=price
self.period=period
def tell_course(self):
print('''
------------%s info----------
course name:%s
course price:%s
course period:%s
''' %(self.name,self.name,self.price,self.period))
class People:
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
self.courses = []
def walk(self):
print('%s is walking' % self.name)
def tell_course(self): #self=egon
for obj in self.courses:
obj.tell_course()
class Teacher(People):
def __init__(self, name, age, sex, salary, level):
People.__init__(self,name,age,sex)
self.salary = salary
self.level = level
def teach(self):
print('%s is teaching' % self.name)
def tell_info(self):
print('''
----------%s info---------
NAME:%s
AGE:%s
SEX:%s
SAL:%s
LEVEL:%s
''' %(self.name,self.name,self.age,self.sex,self.salary,self.level))
class Student(People):
def __init__(self, name, age, sex, group):
People.__init__(self,name,age,sex)
self.group=group
def study(self):
print('%s is study' % self.name)
def tell_info(self):
print('''
----------%s info---------
NAME:%s
AGE:%s
SEX:%s
group:%s
''' %(self.name,self.name,self.age,self.sex,self.group))
alex = Teacher('alex', 84, 'female', 300000, -1)
xiaohuang=Student('xh',73,'male','group8')
python=Course('Python',15800,'6mons')
linux=Course('Linux',1000,'3mons')
go=Course('Go',1000,'4mons')
alex.courses=[]
alex.courses.append(python)
alex.courses.append(go)
xiaohuang.courses=[]
xiaohuang.courses.append(python)
#老师
# print(alex.courses)
# alex.courses[0].tell_course()
# alex.courses[1].tell_course()
# for obj in alex.courses:
# obj.tell_course()
# alex.tell_course()
# egon = Teacher('egon', 18, 'male', 300000, 10)
# egon.courses=[]
# egon.courses.append(linux)
# egon.courses.append(python)
# egon.tell_course()
#学习
# print(xiaohuang.courses)
#序列化
# class Student:
# def __init__(self, name, age, sex, group):
# self.name=name
# self.age=age
# self.sex=sex
# self.group=group
#
# def study(self):
# print('%s is study' % self.name)
#
#
# def tell_info(self):
# print('''
# ----------%s info---------
# NAME:%s
# AGE:%s
# SEX:%s
# group:%s
# ''' %(self.name,self.name,self.age,self.sex,self.group))
# import time
# time.sleep(10000)
# username=input('user: ')
# age=int(input('age: '))
# sex=input('sex: ')
# group=input('group: ')
# xiaohuang=Student(username,age,sex,group)
# xiaohuang.tell_info()
# xiaohuang=Student('xh',18,'male','group1')
import pickle
# res=pickle.dumps(xiaohuang)
# print(res)
#
# with open('studentdb.pkl','wb') as f:
# f.write(res)
#
# with open('studentdb.pkl','rb') as f:
# res=f.read()
# obj=pickle.loads(res)
# print(obj)
# obj.tell_info()
#简洁的写法
import pickle
# xiaohuang=Student('xh',18,'male','group1')
# with open('studentdb.pkl','wb') as f:
# pickle.dump(xiaohuang,f)
# with open('studentdb.pkl','rb') as f:
# obj=pickle.load(f)
# obj.tell_info()