第一题:

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的更多相关文章

  1. 函数mod(a,m)

    Matlab中的函数mod(a,m)的作用: 取余数 例如: mod(25,5)=0; mod(25,10)=5; 仅此.

  2. 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 ...

  3. 黑科技项目:英雄无敌III Mod <<Fallen Angel>>介绍

    英雄无敌三简介(Heroes of Might and Magic III) 英3是1999年由New World Computing在Windows平台上开发的回合制策略魔幻游戏,其出版商是3DO. ...

  4. [日常训练]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 ...

  5. Apache Mod/Filter Development

    catalog . 引言 . windows下开发apache模块 . mod进阶: 接收客户端数据的 echo 模块 . mod进阶: 可配置的 echo 模块 . mod进阶: 过滤器 0. 引言 ...

  6. FZU 1752 A^B mod C(快速加、快速幂)

    题目链接: 传送门 A^B mod C Time Limit: 1000MS     Memory Limit: 65536K 思路 快速加和快速幂同时运用,在快速加的时候由于取模耗费不少时间TLE了 ...

  7. HDOJ 4389 X mod f(x)

    数位DP........ X mod f(x) Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/ ...

  8. hdu.1104.Remainder(mod && ‘%’ 的区别 && 数论(k*m))

    Remainder Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  9. 对于一个负数mod正数

    鸟神说.. a/b靠零取整 然后呢..a%b定义成a-(a/b)*b c语言就是这么算的... 那么python2.6是怎么算的呢 如果最后你取模想得到一个正数.. 那么在上述取模定义不变的情况下 p ...

随机推荐

  1. JVM系列文章合集

    博客作者:纯洁的微笑 JVM系列(①):java类的加载机制 JVM系列(②):JVM内存结构 JVM系列(③):GC算法 垃圾收集器 JVM系列(④):jvm调优-命令大全(jps jstat jm ...

  2. PAT甲级——A1130 Infix Expression【25】

    Given a syntax tree (binary), you are supposed to output the corresponding infix expression, with pa ...

  3. computed和watch运用场景

    computed:通过属性计算而得来的属性 1.computed内部的函数在调用时不加(). 2.computed是依赖vm中data的属性变化而变化的,也就是说,当data中的属性发生改变的时候,当 ...

  4. C语言博客作业02

    2.1 一.请仔细阅读<提问的智慧>,用自己的话描述你的收获,并举例子说明应该如何提问. 答:1.提问是思考的另一种方式,一个好的提问能体现出我们在认真的,聪明的思考; 2.做什么事情都要 ...

  5. Cai_Sublime

    Cai_Sublime Package Control:插件包管理工具 The simplest method of installation is through the Sublime Text ...

  6. MOV EAX,DWORD PTR SS:[EBP+8]

    nasm来写可以写成mov eax,dword ptr [ebp + 8]理由:ebp和esp默认是ss段,所以根本不用显式说明.          eax,ebx,ecx,edx,edi,esi默认 ...

  7. 小部分安卓手机 reload 等方法不执行

    自己解析 url 来赋值刷新页面  方法如下:// location.href function updateUrl(url, key) {     var key = (key || 't') + ...

  8. 使用Hbuilder 报错The keyword 'export' is reserved

    右击文件 > 验证本文档语法(V)后报错 解决: 项目右键->”属性”->”语法&框架”界面中配置项目的javaScript版本,将ECMAScript5.1 修改为6.

  9. Lenovo E42-80安装Linux的注意事项

    Lenovo E42-80安装Linux的注意事项 https://www.cnblogs.com/dylanchu/p/9750760.html 1. 用U盘做个liveCD While makin ...

  10. Bash: Removing leading zeroes from a variable

    old=" # sed removes leading zeroes from stdin new=$(echo $old | sed 's/^0*//')