1、类中的魔法方法
class Student:
def __init__(self):
self.age=18
self.name='wangdi'
self.sex=1
def __str__(self):
msg = "姓名:%s,年龄:%d,性别:%d"%(self.name,self.age,self.sex)
return msg
stu = Student()
print(stu)
如果没有写__str__方法,打印对象,结果展示的就是内存地址
2、应用
#encoding=utf-8 class home: def __init__(self, area): self.area = area self.furniture = [] def addFurniture(self, bed): if bed.area > self.area: print(bed.getBedName()+"面积太大:%d"%bed.area) else: self.furniture.append(bed) self.area = self.area - bed.area def __str__(self): msg = "剩余面积为%d平方米"%self.area if len(self.furniture) > 0: msg += ",家具有" for tmp in self.furniture: msg +=tmp.getBedName()+"、" return msg[:-2]; class bed: def __init__(self, area, name): self.area = area self.name = name def getBedName(self): return self.name myHome = home(180) print myHome print("*"*30) mybed1 = bed(30,"席梦思床") myHome.addFurniture(mybed1) print myHome print("*"*30) mybed2 = bed(30,"大木床") myHome.addFurniture(mybed2) print myHome print("*"*30) mybed3 = bed(170,"超级大木床") myHome.addFurniture(mybed3) print myHome