В Python аргументы функций по умолчанию инициализируются только один раз при определении функции
Здесь аргумент
itm инициализируется как пустой список [] при первом вызове функции. Поскольку списки являются изменяемыми объектами, каждый вызов hmm() без аргументов приводит к добавлению числа 1 в этот же списокПоэтому после двух вызовов
hmm() в цикле for, список содержит два элемента [1, 1]. При третьем вызове hmm() в список добавляется еще одна 1, что приводит к результату [1, 1, 1]