Насколько я понимаю, вы всегда хотите, чтобы ваши начальные условия (например, состояние city
еще до того, как вы добрались до своего цикла) были одинаковыми.Если это так, я бы предпочел просто повторно инициализировать класс всякий раз, когда вы выполняете цикл, поскольку это намного понятнее.
initargs = 21, 50000
initkwargs = {car: 'blue', make: 'mazda'}
for loop:
cityThisInstance = people(*initargs, **initkwargs)
Если при инициализации класса выполняется значительное количество кода, это может бытьлучше просто скопировать это состояние.Глубокая копия предпочтительнее, так что все переменные, которые она использует, будут скопированы, особенно изменчивые, а не будут указывать, где находятся оригиналы.
import copy
for loop:
cityThisInstance = copy.deepcopy(city)