Python教程

python __call__

本文主要是介绍python __call__,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

python __call__用法

python中的__call__用于使对象具有可执行性,举例如下

class Example:
	def __call__(self):
        print("this is a class call")
        
    def func(self):
        print("this is a func call")

example = Example() # create an instance
example() # execute call function
example.func() # execute func

在深度学习框架中存在着大量类似的应用,如pytorch的Module对__call__进行了实现,从而实现了继承于Module的类具备可执行性,即默认调用forward方法并返回

class Module:
    def __call__(self, *input, **kwargs):
        ###
        result = self.forward(*input, **kwargs)
        return result
        
这篇关于python __call__的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!