参考资料:
A Guide to Python’s Magic Methods——Rafe Kettler
介绍
定义类时,使用特殊的名称来定义方法,可以用特殊的代码来调用。例如,一个类定义了__getitem__()
方法,已知x
是这个类的实例,那么x[i]
大致相当于type(x).__getitem__(x, i)
。
可以使用这类函数,为类定义很多“魔法”功能。人们管这类函数叫魔法函数。
基本的魔法函数
object.__new__(cls[, ...])
用于创建cls
类的实例。
__str__
vs __repr__