Передать список классу Python [дубликат]
На этот вопрос уже есть ответ здесь:
«Наименьшее удивление» и изменчивый аргумент по умолчанию 32 ответаУ меня есть этот простой класс:
class revs:
def __init__(self, rev, us, accs = []):
self.rev = rev
self.us = us
self.accs = accs
И у меня есть этот кусок кода для присвоения значений в списке и находится внутри цикла
rev, usu = cada_l.split("|")
acct = each_l[:2].strip()
list_acct.append(acct)
и наконец, я создаю дикт, чтобы управлять списком оборотов следующим образом:
drevs = {}
cada = revs(rev, us, list_acct)
drevs[cada.rev] = cada
И это работает правильно с rev и us, но с list_acct постоянно обновляет все экземпляры:
drevs['1'].rev
'1'
drevs['2'].rev
'2'
drevs['1'].us
'user1'
drevs['2'].us
'user2'
drevs['1'].accs
'["Doc1","Doc2"]'
drevs['2'].accs
'["Doc1","Doc2"]'
И если я изменю list_acct.clear (), значения во всех случаях ясны, я все еще довольно новичок в Python, и это меня смущает.
Спасибо