Python:一个没有参数的函数,每次调用时 returns 一个不同且唯一的数字

Python: a function without parameters that returns a different and unique number each time it is called

我想创建一个函数,每次调用它时都分配一个新数字(在本例中为下一个整数),而无需在所述函数中使用任何参数。这可能吗?

即第一次调用的输出为 1,下一次为 2,依此类推。

您可以查看 itertools.count,它可以满足您的需求。

如果您想自己实现它,您可以使用 Equivalent to: 字样下方代码块中的代码作为起点并设置自定义起始编号并从函数中删除参数。

你可以在没有 () 的情况下实现调用 属性:

class F(object):
    def __init__(self, v=0):
        self.v = v
    @property
    def next(self):
        self.v += 1
        return self.v

 >>> f = F()
 >>> f.next, f.next, f.next
 (1, 2, 3)