Pthon魔术方法(Magic Methods)-可调用对象
Pthon魔术方法(Magic Methods)-可调用对象
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.可调用对象方法
__call__:
类中定义一个该方法,实例就可以像函数一样调用。
二.案例展示
1 #!/usr/bin/env python 2 #_*_conding:utf-8_*_ 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yinzhengjie 5 6 class Point: 7 def __init__(self,x,y): 8 self.x = x 9 self.y = y 10 11 def __call__(self, *args, **kwargs): 12 return "<Point {}:{}>".format(self.x,self.y) 13 14 15 p = Point(10,20) 16 print(p) 17 print(p()) #函数即对象,对象p加上(),就是调用次函数对象的__call__()方法,因此我们可以说p()等价于p.__call__() 18 print(p.__call__()) 19 20 21 #累加 22 class Adder: 23 def __call__(self, *args, **kwargs): 24 self.result = sum(args) 25 return self.result 26 27 adder = Adder() 28 print(adder(*range(1,10))) 29 print(adder.result) 30 31 32 #以上代码执行结果如下: 33 <__main__.Point object at 0x000001EAC0805588> 34 <Point 10:20> 35 <Point 10:20> 36 45 37 45
本文来自博客园,作者:尹正杰,转载请注明原文链接:https://www.cnblogs.com/yinzhengjie/p/11247961.html,个人微信: "JasonYin2020"(添加时请备注来源及意图备注,有偿付费)
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。