现在的位置: 首页 > 综合 > 正文

飘逸的python – 什么是魔术方法(magic method)

2019年06月08日 ⁄ 综合 ⁄ 共 330字 ⁄ 字号 评论关闭

我们经常看到各种被双下划线环绕的方法,如__init__,它们就是魔术方法.

魔术方法是python语言预定好的"协议",不同魔术方法在不同场景下,会被隐式调用.我们通过重载这些方法,从而操控各种行为.

class A(object):
    def __str__(self):
        return "I am A,2333"
    def __len__(self):
        return 42
a = A()
print a#输出 "I am A,2333"
print len(a)#输出42

可以看到,print语句会隐式调用__str__方法,len()会隐式调用__len__方法.

python预定了丰富的魔术方法,使得我们可以对多种行为进行细粒度的操控,用起来各种酸爽,更多的魔术方法请看<Python 魔术方法指南
>

抱歉!评论已关闭.