python 魔法方法有必要吗_python内置魔法方法

Python

魔法方法:

1

魔法方法

含义

基本的魔法方法

__new__(cls[, ...])

1. __new__

是在一个对象实例化的时候所调用的第一个方法

2.

它的第一个参数是这个类,其他的参数是用来直接传递给

__init__

方法

3. __new__

决定是否要使用该

__init__

方法,因为

__new__

可以调用其他类的构造方法或者

直接返回别的实例对象来作为本类的实例,如果

__new__

没有返回实例对象,则

__init__

会被调用

4. __new__

主要是用于继承一个不可变的类型比如一个

tuple

或者

string

__init__(self[, ...])

构造器,当一个实例被创建的时候调用的初始化方法

__del__(self)

析构器,当一个实例被销毁的时候调用的方法

__call__(self[, args...])

允许一个类的实例像函数一样被调用:

x(a, b)

调用

x.__call__(a, b)

__len__(self)

定义当被

len()

调用时的行为

__repr__(self)

定义当被

repr()

调用时的行为

__str__(self)

定义当被

str()

调用时的行为

__bytes__(self)

定义当被

bytes()

调用时的行为

__hash__(self)

定义当被

hash()

调用时的行为

__bool__(self)

定义当被

bool()

调用时的行为,应该返回

True

False

__format__(self, format_spec)

定义当被

format()

调用时的行为

有关属性

__getattr__(self, name)

定义当用户试图获取一个不存在的属性时的行为

__getattribute__(self, name)

定义当该类的属性被访问时的行为

__setattr__(self, name, value)

定义当一个属性被设置时的行为

__delattr__(self, name)

定义当一个属性被删除时的行为

__dir__(self)

定义当

dir()

被调用时的行为

__get__(self, instance, owner)

定义当描述符的值被取得时的行为

__set__(self, instance, value)

定义当描述符的值被改变时的行为

__delete__(self, instance)

定义当描述符的值被删除时的行为

比较操作符

__lt__(self, other)

定义小于号的行为:

调用

x.__lt__(y)

__le__(self, other)

定义小于等于号的行为:

x <= y

调用

x.__le__(y)

__eq__(self, other)

定义等于号的行为:

x == y

调用

x.__eq__(y)

__ne__(self, other)

定义不等号的行为:

x != y

调用

x.__ne__(y)

__gt__(self, other)

定义大于号的行为:

x > y

调用

x.__gt__(y)

__ge__(self, other)

定义大于等于号的行为:

x >= y

调用

x.__ge__(y)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值