Given a class that has an attribute self.id I need to populate that attribute with a counter starting at 0 and all objects of that class need a unique id during a single run of the program. What is the best/ most pythonic way of doing this? Currently I use
def _get_id():
id_ = 0
while True:
yield id_
id_ += 1
get_id = _get_id()
which is defined outside the class and
self.id = get_id.next()
in the class’ __init__(). Is there a better way to do this? Can the generator be included in the class?
Use itertools.count: