[英]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.