Python 类的常用内置方法

本文探讨了Python类的内置方法,包括__new__、__getattr__、__getattribute__、__setattr__和__delattr__等,解释了它们在对象创建、属性访问和操作时的作用。同时,文章还讨论了__str__方法在字符串表示上的应用,以及__getitem__、__setitem__、__delitem__在处理序列类型对象时的功能,最后提到了__call__方法如何使类实例可调用。
摘要由CSDN通过智能技术生成

类的内置方法(魔法方法):

凡是在类内部定义,以__开头__结尾的方法,都是类的内置方法,类的内置方法,会在满足某种条件下自动触发。

1.1__new__

	__new__:在___init__触发前,自动触发。调用该类时,内部会通过__new__产生一个新对象
	
	__init__:在调用类时自动触发。通过产生的对象自动调用__init__()

class Demo(object):

    # 条件: __new__: 在__init__触发前,自动触发。
    def __new__(cls,*args,**kwargs):
        print('此处是__new__方法的执行')
        #python内部通过object调用的__new__实现产生一个空的对象 --->内存地址
        return object.__new__(cls,*args,**kwargs)

    #条件:__init__在调用类时自动触发
    def __init__(self):
        print('此处是__init__方法的执行')

Demo()

1.2__getattr__

	__getattr__: 在通过 “对象.属性” 获取属性时,若 “属性没有” 时触发。
	
class Demo(object):
    # x =10

    def __getattr__(self,item):
        print('此处是__getattr__方法的执行')
        print(item)
        #return 想要返回的值
        return 123
obj1 = Demo()
print(obj1.x)

#执行结果:
此处是__getattr__方法的执行
x
123

1.3__getattribute__


条件: __getattribute__: 在通过 “对象.属性” 获取属性时,无论 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值