python从零开始--27 python基础方法重写

我们可以对下面的基础方法进行重写:

__init__ (self [,args...])  构造函数         obj = className(args)

__del__ (self) 析构函数            del obj

__repr__(self)  转化为供解释器读取的形式    repr(obj)

__str__(self) 将指转化为适于人阅读的形式    str(obj)

__cmp__(self, x)  对象比较          cmp(obj, x)   

__len__(self)                                                       len(obj)


class family(object):

    def __init__(self, *persons):
        self.family_persons = persons
        self.family_persons_number = len(persons)

    def __len__(self):
        return self.family_persons_number

    def __del__(self):
        print("完成析构")


if __name__ == "__main__":
    f1 = family(*("father", "mother", "sister", "old brother"))
    f2 = family(*("father", "mother", "boy"))
    print("这个家庭有{}口人".format(len(f1)))
    print("这个家庭有{}口人".format(len(f2)))
这个家庭有4口人
这个家庭有3口人
完成析构
完成析构



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值