Почему выдает none?
Потому что функция возвращает что-либо оператором return, а при его отсутствии всё равно возвращает результат, всегда равный None
?если насчет a.append(my_function())
то None т.к. нет return