码迷,mamicode.com
首页 > 编程语言 > 详细

流动python - 什么是魔术方法(magic method)

时间:2015-08-19 19:46:08      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

我们经常看到各种各样的方法已经被包围了由双下划线,例如__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 魔术方法指南 >



版权声明:本文博客原创文章,博客,未经同意,不得转载。

流动python - 什么是魔术方法(magic method)

标签:

原文地址:http://www.cnblogs.com/lcchuguo/p/4742732.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!