# 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()

morgana

Class python31的更多相关文章

  1. Python31之类和对象1(三大特征:多封继——多疯子)

    一.对象: Python即是面向对象的编程也是面向过程的编程语言,其内部可谓是无处不对象,我们所熟知的列表,字符串等工厂函数本质上都是对象.对象其实是对属性和方法的封装. 属性是对象的静态特征 方法是 ...

  2. python-3-1

    一.布尔类型    布尔值为: True 和Flase 注:区分大小写,如果写true 和false   不代表布尔类型值 小于 大于 小于等于  大于等于  对应这些判断 一般就是用布尔类型进行判断 ...

  3. editplus3运行Python程序

    editplus3是一款不错的编辑器,他可以编译,运行java,php等各种程序,现把他运行Python程序的方法贴出来,首先得安装python,然后打开editplug3,工具——配置用户工具——组 ...

  4. Python问题之奇怪诡异的Bug

    最近又重新装上了windows 7感觉还是那样,主要是想用M8SDK写些程序.也想在windows上玩玩,一直都觉得用C写一些常用的东东很复杂,只有借助于解释性语言了,在python, ruby间选择 ...

  5. python 文件及文件夹操作

    python 文件.目录操作(新增.移动.删除等) python 文件夹与文件操作 mport string, os, sys dir = '/var' print '----------- no s ...

  6. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现

    最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...

  7. Python文件夹与文件的操作(转)

    最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...

  8. python总结--目录(转)

    python模块   [Python]随机数与随机字符串  举例说明Python的CSV模块   python模块之smtplib: 用python发送SSL/TLS安全邮件   python模块之e ...

  9. Python3.2官方文档翻译--标准库概览(一)

    7.1 操作系统接口 Os模块提供主要很多与操作系统交互的函数. >>> import os >>> os.getcwd() # Return the curren ...

随机推荐

  1. BZOJ 4154 kd-tree dfs序 + 二维空间的区间(矩阵)更新单点查找

    一开始没思路 感觉像是一个树形dp 然而不会 然后看了一眼题解就明白了 一个点的子树 用dfs序表示肯定是一个连续的区间 并且由于有子树的距离限制 可以转化为一个深度的区间 于是每个点都会有一个在二维 ...

  2. 将datagridview数据保为xml或txt文件

    using System.IOpublic void SaveFile()        {            //实例化一个保存文件对话框            SaveFileDialog s ...

  3. java对象流(二)

    对象流,可以将java中的对象转为字节进行输出.将对象写入文件时.文件输出流是将字节写入到文件中. 对象流是将给定的对象转化为一组字节.writeObject()方法就是将对象转为字节. 对象流,读的 ...

  4. SQL Server 2016 —— 聚集列存储索引的功能增强

    作者 Jonathan Allen,译者         邵思华         发布于     2015年6月14日   聚集列存储索引(CC Index)是SQL Server 2014中两大最引 ...

  5. java:OutputStream和InputStream 输出输入流,FileOutputStream,FileInputStream写入读取流

    1.在java中stream代表一种数据流(源),javaio的底层数据元,---(想像成水龙头)2.任何有能力产生数据流(源)的javaio对象就可以看作是一个InputStream对象既然它能产生 ...

  6. linux(ubuntu16.04)下安装和破解pycharm专业版

    我用的linux 版本是ubuntu,查看版本命令是: lsb_release -a 因为学习Python爬虫,pycharm是Python很好用的IDE,但是专业版需要付费,所以开始安装: 首先在官 ...

  7. HANA 存储过程

    You can develop secure procedures using SQLScript in SAP HANA by observing the following recommendat ...

  8. 15-THREE.JS 方向光

    <!DOCTYPE html> <html> <head> <title></title> <script src="htt ...

  9. 2018.8.11E-mail

    1发送附件 Attached please find the XXX  for your review and comment. Outlook的附件最好不超过10M,文件要用英语命名,视频音频要压缩 ...

  10. Linux C 编程内存泄露检测工具(一):mtrace

    前言 所有使用动态内存分配(dynamic memory allocation)的程序都有机会遇上内存泄露(memory leakage)问题,在Linux里有三种常用工具来检测内存泄露的情況,包括: ...