python 类特殊方法_python类的特殊方法(魔法方法)

在python的类声明中,有很多类似于__xx__格式的方法,比如说__len__(),这表示在特定的条件下会调用该方法,当然也可以直接调用,现总结一些常用的如下:

1.__len__(),对类对象调用len(obj)的时候会调用该方法,一般用来返回长度,这也是为什么可以用len()去获取列表,字符串等的长度的原因

2.__call__(),把类对象当成函数来调用时触发

3.__repr__,打印对象的时候触发,一般用来给出一些详细的类信息

4.

__getitem__和__setItem__,把对象当做Iterable调用的时候就会触发,比如说把对象当做列表字典直接调用

5.__dict__,把对象拥有的全部方法和变量以字典的形式展示

6.__dir__,把对象的所有可用的方法和属性以列表的形式展现出来

7.__del__,在回收对象的时候调用,但是要注意的是,这个只是让引用计数器-1,如果引用计数器不为0,只能等到程序终止的时候调用

如上图所示,a的引用计数器在del后为0,所以立即被回收

该对象的引用计数器在调用del后从2变成1,不为0,所以只能等到程序终止的时候回收,所以先打印end

以上是我们常见的一些特殊方法,还有很多静态方法可以通过文档获得一下为int类型的一些静态方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值