gary's mod
第一题:
class Parent(object):
x = 1
class Child1(Parent):
pass
class Child2(Parent):
pass
print(Parent.x, Child1.x, Child2.x)#由于前面只有在父类定义一个x,因此全部输出的都是1 #1 1 1
Child1.x = 2
print(Parent.x, Child1.x, Child2.x)#子类会优先从自己这边查找,因此child1输出的2 #1 2 1
Parent.x = 3
print(Parent.x, Child1.x, Child2.x)#当子类未被定义的时候,会去父类查找,因此child2输出的是3# 3 2 3
第二题:
[图片]
第三题
新式类:继承了object类以及该类的子类就是新式类了,而且python3中所有的都是新式类
经典类:相对的没有继承object类以及该类的子类就是经典类,只有再python2中有经典类
import hashlib
import time
import pickle
class teacher :
def __init__(self,name,gender,age,level,salary):
self.name=name
self.gender=gender
self.age=age
self.level=level
self.salary=salary
def create_id(self):
tempral=time.strftime('%Y/%M/%D---%X')
info=self.name+self.gender+str(self.age)+str(self.level)+str(self.salary)
res = hashlib.md5((tempral + info).encode('utf-8'))
self.id=res.hexdigest()
return self.id
def tell_info(self):
print('''
编号: %s
姓名: %s
性别: %s
年龄: %s
等级: %s
薪资: %s
''' % (
self.id, self.name, self.gender, self.age, self.level, self.salary))
def save(self):
with open(self.id, 'wb') as f:
pickle.dump(self, f)
def get_obj_by_id(self):
return pickle.load(open(self.id,'rb'))
tea=teacher('Gary','male',20,5,10)
tea.create_id()
tea.tell_info()
tea.save()
res=tea.get_obj_by_id()
print(res)
class student:
def __init__(self, name, gender, age):
self.name = name
self.age = age
self.gender = gender
def create_id(self):
tempral = time.strftime('%Y/%M/%D---%X')
info=self.name+self.gender+str(self.age)
res = hashlib.md5((tempral + info).encode('utf-8'))
self.id=res.hexdigest()
return self.id
def tell_info(self):
print('''
编号: %s
姓名: %s
性别: %s
年龄: %s
''' % (
self.id, self.name, self.gender, self.age))
def save(self):
with open(self.id, 'wb') as f:
pickle.dump(self, f)
def get_obj_by_id(self):
return pickle.load(open(self.id, 'rb'))
tea=student('Gary','male',20)
tea.create_id()
tea.tell_info()
tea.save()
res=tea.get_obj_by_id()
print(res)
import hashlib
import time
import pickle
class teacher :
def __init__(self,name,gender,age,level,salary):
self.name=name
self.gender=gender
self.age=age
self.level=level
self.salary=salary
def create_id(self):
tempral=time.strftime('%Y/%M/%D---%X')
info=self.name+self.gender+str(self.age)+str(self.level)+str(self.salary)
res = hashlib.md5((tempral + info).encode('utf-8'))
self.id=res.hexdigest()
return self.id
def tell_info(self):
print('''
编号: %s
姓名: %s
性别: %s
年龄: %s
等级: %s
薪资: %s
''' % (
self.id, self.name, self.gender, self.age, self.level, self.salary))
def save(self):
with open(self.id, 'wb') as f:
pickle.dump(self, f)
def get_obj_by_id(self):
return pickle.load(open(self.id,'rb'))
tea=teacher('Gary','male',20,5,10)
tea.create_id()
tea.tell_info()
tea.save()
res=tea.get_obj_by_id()
print(res)
class student:
def __init__(self, name, gender, age):
self.name = name
self.age = age
self.gender = gender
def create_id(self):
tempral = time.strftime('%Y/%M/%D---%X')
info=self.name+self.gender+str(self.age)
res = hashlib.md5((tempral + info).encode('utf-8'))
self.id=res.hexdigest()
return self.id
def tell_info(self):
print('''
编号: %s
姓名: %s
性别: %s
年龄: %s
''' % (
self.id, self.name, self.gender, self.age))
def save(self):
with open(self.id, 'wb') as f:
pickle.dump(self, f)
def get_obj_by_id(self):
return pickle.load(open(self.id, 'rb'))
tea=student('Gary','male',20)
tea.create_id()
tea.tell_info()
tea.save()
res=tea.get_obj_by_id()
print(res)
import hashlib
import time
import pickle
class People:
def __init__(self, name, gender, age):
self.name = name
self.gender = gender
self.age = age
def create_id(self):
m = hashlib.md5()
t = str(time.time())
s = str(self.__dict__)
m.update(t.encode('utf-8'))
m.update(s.encode('utf-8'))
t1.num = m.hexdigest()
def tell_info(self):
print(self.__dict__)
def save(self):
with open(t1.num, 'wb') as f:
pickle.dump(self.__dict__, f)
def get_obj_by_id(self):
return pickle.load(open(self.num, 'rb'))
class Teacher(People):
def __init__(self, name, gender, age, level, salary):
People.__init__(self, name, gender, age)
self.level = level
self.salary = salary
class Students(People):
def __init__(self, name, gender, age):
People.__init__(self, name, gender, age)
t1 = Teacher('gary', 'male', 18, 1, 1000)
s1 = Students('gary', 'male', 18)
t1.create_id()
t1.tell_info()
t1.save()
t1.get_obj_by_id()
print(t1.get_obj_by_id())
gary's mod的更多相关文章
- 函数mod(a,m)
Matlab中的函数mod(a,m)的作用: 取余数 例如: mod(25,5)=0; mod(25,10)=5; 仅此.
- ORACLE 数据库 MOD 函数用法
1.求2和1的余数. Select mod(2,1) from dual: 2能被1整除所以余数为0. 2.MOD(x,y)返回X除以Y的余数.如果Y是0,则返回X的值. Select mod(2,0 ...
- 黑科技项目:英雄无敌III Mod <<Fallen Angel>>介绍
英雄无敌三简介(Heroes of Might and Magic III) 英3是1999年由New World Computing在Windows平台上开发的回合制策略魔幻游戏,其出版商是3DO. ...
- [日常训练]mod
Description 给定$p_1,p_2,-,p_n,b_1,b_2,...,b_m$, 求满足$x\;mod\;p_1\;\equiv\;a_1,x\;mod\;p_2\;\equiv\;a_2 ...
- Apache Mod/Filter Development
catalog . 引言 . windows下开发apache模块 . mod进阶: 接收客户端数据的 echo 模块 . mod进阶: 可配置的 echo 模块 . mod进阶: 过滤器 0. 引言 ...
- FZU 1752 A^B mod C(快速加、快速幂)
题目链接: 传送门 A^B mod C Time Limit: 1000MS Memory Limit: 65536K 思路 快速加和快速幂同时运用,在快速加的时候由于取模耗费不少时间TLE了 ...
- HDOJ 4389 X mod f(x)
数位DP........ X mod f(x) Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/ ...
- hdu.1104.Remainder(mod && ‘%’ 的区别 && 数论(k*m))
Remainder Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- 对于一个负数mod正数
鸟神说.. a/b靠零取整 然后呢..a%b定义成a-(a/b)*b c语言就是这么算的... 那么python2.6是怎么算的呢 如果最后你取模想得到一个正数.. 那么在上述取模定义不变的情况下 p ...
随机推荐
- 运维 06 vim与程序员
vim与程序员 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以 ...
- LCD中6800和8080的区别【转】
8080是通过“读使能(RE)”和“写使能(WE)”两条控制线进行读写操作6800是通过“总使能(E)”和“读写选择(W/R)”两条控制线进行 很多MCU或者LCD模块外部接口一般采用并行方式,并行接 ...
- markdown_TestOne
这个是我写的一个markdown尝试 1.2 dafsdfeasdfaefasdfase afsdfasdfefasdfeadfasdfe
- 条件选择case
SELECT COUNT(*),count(CASE b.AUTHORITY WHEN 'addAsmAccessControlList' THEN '1' ELSE NULL END) as aut ...
- Python之异常抛出机制
异常抛出机制 : 常见的Python异常:
- dwr中的部分问题和总结
2015-9-1 1.dwr设置同步异步:DWREngine.setAsync(false);//dwr设置为同步 --->使用目的是堵塞js,因为设置这样是为了js进行java的后台数据获取. ...
- 前端移动端开发总结(Vue)
上下固定,中间滚动布局(FLEX) <div id="app"> <div class="header"></div> &l ...
- CentOS 7 安装详细步骤
VMware安装centos 7 前期准备: 1. VMware虚拟机软件(使用的是15x) 2. CentOS-7-x86_64-DVD-1810.iso 一.安装VMware虚拟机软件 略 二.新 ...
- AtCoder Grand Contest 001F Wide Swap
解法参考这位大佬的:https://www.cnblogs.com/BearChild/p/7895719.html 因为原来的数组不好做于是我们想反过来数组,根据交换条件:值相邻且位置差大于等于k, ...
- 当我们在Java中新建一个对象的时候发生了什么?