单继承 多重继承 序列化 反序列化

单继承

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)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值