Как отметил @Daniel Roseman в своем комментарии, сначала вы устанавливаете значение days_off
, когда устанавливаете значение years
, а затем заменяете его на 20
, так как это следующее назначение, которое вы делаете послеself.years = years
.Чтобы получить правильные результаты, вам нужно присвоить значение days_off
, прежде чем присваивать значение years
.Итак, ваш конструктор должен выглядеть следующим образом:
def __init__(self, years, days_off=20):
print('initializing')
self.days_off = days_off
self.years = years
Повторный запуск вернет правильные результаты:
initializing
initializing
condition 1 hit
initializing
condition 2 hit
20
25
30