Рекомендуется следующее:
Источник: Почему пустой словарь является опасным значением по умолчанию в Python?
def func(k, v, para=None):
if para is None:
para = dict()
para[k] = v
return para
print(func('a', 1)) #returns {'a': 1}
print(func('b', 2)) #returns {'b': 2}
print(func('c', 3)) #returns {'c': 3}
И да, япочти уверен, что то же самое относится и к классам.
class T:
def __init__(self, para=None):
if para is None:
para = dict()
self.para = para
Давайте просто проверим, что происходит с классами:
class T:
def __init__(self, k, v, para={}):
self.para = para
self.para[k] = v
print(T('a',1).para) #returns {'a': 1}
print(T('b',2).para) #returns {'a': 1, 'b': 2}
print(T('c',3).para) #returns {'a': 1, 'b': 2, 'c': 3}
Так что да,То же относится и к конструкторам классов.