С необязательным аргументом в функции можно получить доступ к количествам другого экземпляра класса. (см. код ниже). Я делаю что-то не так, или это ожидаемое поведение?
Linux, Python 3.7.3 [GCC 7.3.0]
class Cat:
def __init__(self, name):
self.name = name
print(name)
def my(self, d = {}):
print('Before: ',d)
d[self.name] = str(self.name)
print('After: ',d)
tiger = Cat('Tiger')
tiger.my()
lion = Cat('Lion')
lion.my()
Вывод кода:
Tiger
Before: {}
After: {'Tiger': 'Tiger'}
Lion
Before: {'Tiger': 'Tiger'}
After: {'Tiger': 'Tiger', 'Lion': 'Lion'}