Параметры функций по умолчанию оцениваются только во время определения функции. Итак, когда вы запускаете вторую ячейку, window_f
получает значение по умолчанию из текущего значения window
.
Когда вы запускали вторую ячейку в первый раз, значение window
было очевидно 241, так что это то, чем стало значение по умолчанию window_f
.
Затем вы меняете значение window
и вызываете функцию без параметра, поэтому используется значение по умолчанию (241).
Когда вы запускали вторую ячейку во второй раз, вы снова определили функцию, и она получила новое значение window
для своего параметра по умолчанию.
Либо передайте параметр:
window_t=count_frame_indeces2(window)
Или заставьте функцию использовать текущее значение window
, если параметр не был передан с:
def count_frame_indeces2(window_f=None):
if window_f is None:
window_f = window
return window_f