如何使用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()

使用方式是相当的简单,现在就给大家介绍完啦,大家有没有看懂学会了呢?如果还想了解更多精彩的学习内容,点击进入python学习网查询哦~

以上是 如何使用python中__call__函数? 的全部内容, 来源链接: utcz.com/z/541374.html

回到顶部