繁体   English   中英

Python 内置库是否有一个可递增的计数器?

[英]Does the Python built-in library have an incrementable counter?

Python内置库中有没有这样的东西:

class Counter:
    def __init__(self, start=0):
        self.val = start

    def consume(self):
        val = self.val
        self.val += 1
        return val

我认为这是实现需要使用计数器然后在下一行立即递增的代码的更安全的方法。 有点像在其他语言中使用i++ 但是如果有内置方法,我会尽量避免用这样的定义来阻塞我的库。

您基本上已经重新实现了itertools.count ,而consume代表了__next__ __next__通常不直接调用,而是通过将count的实例传递给next函数来调用。)

>>> from itertools import count
>>> c = count()
>>> next(c)
0
>>> next(c)
1
>>> next(c)
2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM