Python魔法方法定义为将"魔法"添加到类的特殊方法。它以双下划线开头和结尾,例如__init__或__str__。
内置类定义了许多魔法方法。 dir()函数可用于查看类继承的魔法方法的数量。它在方法名称中有两个前缀和后缀下划线。
它最常用于定义预定义运算符的重载行为。
链接:https://www.learnfk.comhttps://www.learnfk.com/python3/python-magic-method.html
来源:LearnFk无涯教程网
__ 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)函数时将调用它。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)