單繼承 多重繼承 序列化 反序列化

2021-08-28 11:37:21 字數 2363 閱讀 1749

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,***,height,weight,facevalue):

self.name = name

self.age = age

self.*** = ***

self.height = height

self.weight = weight

self.facevalue = facevalue

def __str__(self):

return '名字:%s,年齡:%s,性別:%s,身高:%s,體重:%s,顏值:%s' %(self.name,self.age,self.***,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物件序列化到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)

序列化反序列化

只要用到網路開發啊,就一定會用到序列化反序列化。1,自定義結構體 struct test int len int type char data 10 test data test buffer.缺點 明文,只支援基本型別,不支援變長結構 2,在1的基礎上,自定義乙個緩衝類,存放乙個訊息。把訊息寫入緩...

序列化反序列化

using system using system.collections.generic using system.io using system.linq using system.text using system.threading.tasks namespace 序列化反序列化 syste...

序列化和反序列化 C 序列化與反序列化。

序列化介紹 把物件用一種新的格式來表示。系列化只序列化資料。序列化不建議使用自動屬性 為什麼要序列化 將乙個複雜的物件轉換流,方便儲存與資訊交換。class program class person public int age 二進位制序列化 就是將物件變成流的過程,把物件變成byte class...