• 技术文章 >Python技术 >Python基础教程

    怎样在python中定义非闭包

    小妮浅浅小妮浅浅2021-02-21 17:42:11原创1732

    1、说明

    (1)非封闭包装方式定义了Averager这一类。然后,在初始化方法中,定义了数组series,以保存输入的数值。

    (2)接着使用__call__这样的实例对象可以像调用普通函数一样以对象名()的形式使用方法(1)。接受参数作为需要计算的新数值,内部保存在series数组中。

    2、实例

    class Averager():
     
        def __init__(self):
            self.series = []
     
        def __call__(self, new_value):
            self.series.append(new_value)
            total = sum(self.series)
            return total / len(self.series)
     
     
    avg = Averager()
    logging.info('avg(10) -> %s', avg(10))
    logging.info('avg(20) -> %s', avg(20))
    logging.info('avg(30) -> %s', avg(30))

    以上就是在python中定义非闭包的方法,希望能对大家有所帮助!

    专题推荐:python 非闭包
    品易云
    上一篇:python在列表中和列表末尾添加元素的方法 下一篇:python列表中删除元素的三种方法

    相关文章推荐

    • python中列表的索引如何理解?• python中如何查看stdin编码?• python中静态字符串的编码• python如何在列表末尾添加元素?• python中序列化JSON• python在列表中和列表末尾添加元素的方法

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网