python面向对象的编程思路_Python 面向对象编程特殊方法

new方法

此方法调用发生在 “类实例化之前”,用于确定此次实例化的类。new方法可以调用其他类的构造方法;或者直接返回别的对象;作为本次实例化的实例。

new返回值为实例成功的对象。new() 方法始终都是类的静态方法,即使没有被加上静态方法装饰器。

init方法

此方法负责对象的初始化(构造方法)。此方法的返回值只能为None,推荐没有返回值;否则会报错。

在init()实例化类之前,由new()方法决定是否要使用init()方法构造。

del方法

析构函数,删除对象时执行的函数

属性操作

当对一些属性进行操作时,自动调用一些操作

__getattr__(self, item)

在访问对象的item属性的时候,如果对象并没有这个相应的属性,方法,那么将会调用这个方法来处理。

这里要注意的时,假如一个对象叫fjs, 他有一个属性:fjs.name = “fjs”,那么在访问fjs.name的时候因为当前对象有这个属性,那么将不会调用__getattr__()方法,而是直接返回了拥有的name属性了

__setattr__(self, item, value)

当试图对象的item特性赋值的时候将会被调用。使用中需要注意避免陷入死循环(_dict_)

__getattribute__(self, item)

这个只有在新式类中才有的,对于对象的所有特性的访问,都将会调用这个方法来处理。

这个方法的存在,可以方便处理一些不在预期的非法调用,尤其是涉及资金的。

__delattr(self,name)

当试图删除特性name时,会被自动调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值