zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    id选择器
    HTML列表标签
    HTML表格标签
    HTML常见标签
    javascript代码 调试方法
    圣杯布局和双飞翼布局
    javascript 类型转换。
    javascript的defer和async的区别。
    乱码引起的CSS失效原理,解决技巧。
    浏览器渲染引擎,提高css渲染速度。
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/11247961.html
Copyright © 2011-2022 走看看