python學習七(類中魔法方法 應用)

2021-08-06 01:39:40 字數 1981 閱讀 8547

1、類中的魔法方法

class student:

def __init__(self):

self.age=18

self.name='wangdi'

self.***=1

def __str__(self):

msg = "姓名:%s,年齡:%d,性別:%d"%(self.name,self.age,self.***)

return msg

stu = student()

print(stu)

如果沒有寫__str__方法,列印物件,結果展示的就是記憶體位址

2、應用

#encoding=utf-8

classhome:

def__init__(self, area):

self.area = area

self.furniture =

defaddfurniture(self, bed):

ifbed.area > self.area:

print(bed.getbedname()+"面積太大:%d"%bed.area)

else:

self.area = self.area - bed.area

def__str__(self):

msg ="剩餘面積為%d平方公尺"%self.area

iflen(self.furniture) > 0:

msg +=",家具有"fortmpinself.furniture:

msg +=tmp.getbedname()+"、"returnmsg[:-2];

classbed:

def__init__(self, area, name):

self.area = area

self.name = name

defgetbedname(self):

returnself.name

myhome = home(180)

printmyhome

print("*"*30)

mybed1 = bed(30,"席夢思床")

myhome.addfurniture(mybed1)

printmyhome

print("*"*30)

mybed2 = bed(30,"大木床")

myhome.addfurniture(mybed2)

printmyhome

print("*"*30)

mybed3 = bed(170,"超級大木床")

myhome.addfurniture(mybed3)

printmyhome

Python 類內建魔法方法

一 str 方法 python class 內建函式有很多,想到了先記下來.str str 方法和 init 方法類似,都是一些特殊方法,都會自動執行的,init 是初始化的作用,str 則是用來返回物件的字串表示式。在我們編寫乙個新的python類的時候,總是在最開始位置寫乙個初始化方法 init...

Python類的魔法方法

名字重整,類中例項物件的私有屬性,可以使用 dict 檢視,檢視到的私有屬性其實已經改名為 類名 屬性名,可以使用例項物件.類名 屬性名檢視。表示類的描述資訊 module 表示當前操作的物件在那個模組 class 表示當前操作的物件的類是什麼 test.py test.py coding utf ...

魔法方法《七》 getattr

當訪問object不存在的屬性時會呼叫 getattr 方法 class house def init self,name,age self.name name self.age age def getattr self,item return diaochan if name main house...