第一题:

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. Django框架(十八)—— auth框架:用户登录、注册、认证

    目录 auth模块 一.什么是author模块 二.auth模块的使用 1.创建超级用户(create_superuser()) 2.验证用户(authenticate()) 3.登录用户(login ...

  2. shell编程2:数组的运用

    Shell 数组 定义数组 在Shell中,用括号来表示数组,数组元素用"空格"符号分割开.定义数组的一般形式为: name=(name1 name2 name3) 复制代码 还可 ...

  3. Android开发 Butterknife使用方法总结

    前言: ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤.是大神J ...

  4. cmd登录mysql、查所有的库、查所有的表、查表下的所有字段

    一.设置好mysql的环境变量,cmd之后输入mysql -u root  -p 输入password进入mysql 二.展示所有的库名show  batabases: 三.选择一个库名use dem ...

  5. ubuntu18.4 搭建lamp环境

    一.Apache2 web服务器的安装: 可以先更新一下服务器(可选) 1.sudo apt update             # 获取最新资源包 2.sudo apt upgrade       ...

  6. androidstudio 2.3.3 jni过程汇总(2):2、使用so文件

    2.使用so文件 1.在java文件中System.loadLibrary加载包,并且引入native方法. 2.在app/src/main/下新建jniLibs文件夹,将so包带arm文件夹形式导入 ...

  7. Java虚拟机(一)

    一.Java发展历程 Java之父,James Gosling博士 时间 事件 1991年4月 James Gosling博士领导的Green Project启动,java语言前身Oak启动 1995 ...

  8. leetcode-第14周双周赛-1272-删除区间

    题目描述: 自己的提交: class Solution: def removeInterval(self, intervals: List[List[int]], toBeRemoved: List[ ...

  9. Robot Framework:接口测试

    ---恢复内容开始--- robotframework进行接口测试,需要安装Request和RequestLibrary包 pip install requests pip install -U ro ...

  10. shiro入门笔记之第一个demo创建

    前言 看到这篇文章之前,可能很多小伙伴都没听过shiro,那么shiro是什么呢?shiro是Apache基金会下一个非常有名的开源项目(项目官网: http://shiro.apache.org/ ...