Python 中__call__方法

python的类中提供了__call__方法,可以允许调用可以创建的对象和实例,若在定义类时,实现了__call__方法,那么就可以像使用函数一样使用类。

那么,就意味着class()和class.__call__() 作用是相同的。

class Myclass:
  def __init__(self, x, y):
    '''初始化'''
    self.x = x
    self.y = y
  
  def __call__(self, sum):
    if sum == self.x + self.y:
      return Ture
    else:
      return False
    
a = Myclass(1, 1) # 创建实例对象
print(a(2))       # 调用call方法
#######
True