Python教程自学网欢迎您来学习!
当前位置: 首页 > Python基础教程 > python如何使用__call__函数

python如何使用__call__函数

   

python如何使用__call__函数

本来想跟大家说一说装饰器的,但是不是讲解全部内容,是说其中一处分类小块,类装饰器,但是考虑到依赖的只是函数__call__,相信大部分人都没有什么概念或者理解,但是不用担心,小编已经帮助大家细致整合了一遍。教大家既可以去理解使用本章的中心函数,又可以去理解类装饰器,一举两得,一起来看下吧~

我们先通过一组案例,深入了解。

代码如下:

class Count:
    def __init__(self, func):
        self.func = func
        self.num_calls = 0
    def __call__(self, *args, **kwargs):
        self.num_calls += 1
        print('num of calls is: {}'.format(self.num_calls))
        return self.func(*args, **kwargs)

这是一个标准的装饰器写法,其中我们套入进去call的写法,那么大家可以根据流程想到后续的输出内容,是否如下:

num of calls is: 1
hello world
example()

使用方式是相当的简单,现在就给大家介绍完啦,大家有没有看懂学会了呢?如果还想了解更多精彩的学习内容。