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-8classhome:
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...