class Case:
def __init__(self, name):
print('init class instance')
self.name = name
def __str__(self):
return f'Case(fn={self.name})'
d = {'a': Case('fn')}
d.get('a', Case('bbb'))
为什么两次调用 init 方法? get方法应该发现键a已经存在,并且完全忽略默认部分。