在Python中,有一类名字前后有双下划线做前缀和后缀的方法,例如:__ init __, __ add __, __ len __, __ repr __ 。这类方法叫做魔术方法Magic method,通常用于重载Python内建方法和运算(overload Python’s built-in methods and its operators)。更Pythonic的叫法是:Dunder method -- “Double Under (Underscores)”。
魔术方法会被Python框架自动调用而无需程序员手动调用。
- __ init __()方法在对象创建时调用,给对象提供初始化值,只能return None,return其它值会报错
-
__ del __()在对象被销毁时调用
__del__()方法
-
__ len __()方法返回对象的长度
__len__()方法
-
__ repr __()方法用于在Python交互窗口(interactive terminal)中表达一个对象信息。
__repr__()方法
-
__ getitem __()方法,允许类的实例使用索引运算符[],该魔术方法通常用于列表索引,字典查找,或访问的值范围。考虑到它的通用性,它可能是Python使用最多的魔术方法之一。
__getitem__()方法
网友评论