from person import person
class student(person):
def __init__(self,name,age,money,stuId):
#调用父类中的__init__
super().__init__(name,age,money) #单继承
#子类可以有一些自己独有的属性
self.stuId=stuId
def stuFunc(self):
print(self.__money)
a=student(1,2,3,4)
print(a.name)
多重继承
'''
演示多重继承:
类:生物类(Creature)、动物类(Animal)、狗类(Dog)
继承关系如下:
动物类是狗类的直接父类
生物类是狗类的简洁父类
'''
class Creature:
#初始化属性
def __init__(self,age):
print('我是Creature中的构造..')
self.age = age
def breath(self):
print('吸一个...')
class Animal(Creature):
#初始化属性
def __init__(self,name,age):
print('我是Animal中的构造...')
self.name = name
super().__init__(age)
def eat(self):
print('吃一个...')
class Dog(Animal):
#初始化属性
def __init__(self,color,name,age):
print('我是Dog中的构造...')
self.color = color
super().__init__(name,age)
def say(self):
print('汪汪叫...')
d = Dog(name='哈哈',age=3,color='black')
print(d.name,d.age,d.color)
d.say()
d.eat()
d.breath()
序列化 反序列化
class Person:
def __init__(self,name,age,sex,height,weight,faceValue):
self.name = name
self.age = age
self.sex = sex
self.height = height
self.weight = weight
self.faceValue = faceValue
def __str__(self):
return '名字:%s,年龄:%s,性别:%s,身高:%s,体重:%s,颜值:%s' %(self.name,self.age,self.sex,self.height,self.weight,self.faceValue)
import pickle
from person import Person
#创建一个Person对象
# per = Person('貂蝉',23,'女',165.0,90,'漂亮')
# print(id(per))
#将per对象序列化到person.txt中(钝化过程)
# fw = open('person.txt','wb')
# pickle.dump(per,fw)
# fw.close()
#将per对象反序列化到程序中(活化过程)
# fr = open('person.txt','rb')
# per1 = pickle.load(fr)
# fr.close()
# print(per1,id(per1))
# print(per1 == per)
#定义列表,存储多个Person对象
lt = []
lt.append(Person('貂蝉',23,'女',165.0,90,'漂亮'))
lt.append(Person('西施',21,'女',163.0,90,'纤瘦'))
lt.append(Person('王昭君',24,'女',167.0,90,'清纯'))
lt.append(Person('玉环',27,'女',170.0,90,'肥美'))
#将lt对象序列化到list.txt中
# with open('list.txt','wb') as fw:
# pickle.dump(lt,fw)
#将lt对象反序列化到程序中
with open('list.txt','rb') as fr:
lt1 = pickle.load(fr)
# print(lt1)
for i in lt1:
print(i)