个性化阅读
专注于IT技术分析

Python魔术方法介绍

Python魔术方法定义为将”魔术”添加到类的特殊方法。它以双下划线开头和结尾, 例如_init_或_str_。

内置类定义了许多魔术方法。 dir()函数可用于查看类继承的魔术方法的数量。它在方法名称中有两个前缀和后缀下划线。

它最常用于定义预定义运算符的重载行为。

__init__

在创建类的实例之后但在将其返回给调用方之前, 将调用_init_方法。当类的实例像其他编程语言(例如C ++, Java, C#, PHP等)的构造函数一样创建时, 无需任何调用即可调用。这些方法也称为initialize, 在_new_之后调用。它是你应在其中初始化实例变量的位置。

__str__

此函数计算对象的”非正式”或可很好打印的字符串表示形式, 并且必须返回字符串对象。

__repr__

内置函数repr()调用此函数以计算对象的”正式”字符串表示形式, 并返回类型的机器可读表示形式。 _repr_的目标是明确的。

__len__

此函数应返回对象的长度。

__call__

我们可以通过添加_call_ magic方法来使对象可调用, 这是_call_不需要的另一种方法。

如果在类中定义, 则可以调用该类。但是, 如果它是一个函数, 那么实例本身而不是修改。

__del__

就像_init_是构造函数方法一样, _del_就像是析构函数。如果你已在_init _中打开了一个文件, 则_del_可以将其关闭。

__bytes__

它提供了一个对象的字节字符串表示形式, 并应返回一个字符串对象。

__ge__

当使用> =运算符时, 将调用此方法, 并返回True或False。

__neg__

一元运算符将调用此函数。

__ipow__

该函数在带参数的指数上调用。例如a ** = b。

__le__

使用<=运算符进行比较时会调用此函数。

_nonzero_

此函数返回对象的布尔值。调用bool(self)函数时将调用它。


赞(0)
未经允许不得转载:srcmini » Python魔术方法介绍

评论 抢沙发

评论前必须登录!