python学习七(类中魔法方法、应用)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值