__call__可以使得方法变成可被调用对象;(PS:python中的方法和普通函数有点区别:方法的第一个参数是类实例)

允许一个类的实例像函数一样被调用。实质上说,这意味着 x() 与 x.__call__() 是相同的。注意 __call__ 参数可变。这意味着你可以定义 __call__ 为其他你想要的函数,无论有多少个参数。
python中的__call__

 python中的__call__

 (PS:__call__这种用法在pytorch中也有所体现,pytorch中自定义的类继承于nn.Module父类,且该子类中对父类的forward方法进行了重载,且父类nn.Module中的__call__中调用了forward方法,所以我们直接用子类的实例作为可调用对象)

 

相关文章:

  • 2021-10-16
  • 2021-10-06
  • 2021-11-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-31
  • 2022-12-23
  • 2022-01-13
猜你喜欢
  • 2022-01-06
  • 2021-09-03
  • 2022-12-23
  • 2022-12-23
  • 2021-06-09
相关资源
相似解决方案