Все функции должны быть определены до их использования.
Однако функции могут быть определены в любом порядке, если все они определены, прежде чем какой-либо исполняемый код использует функцию.
Вам не нужно "предварительное объявление", потому что все объявления полностью независимы друг от друга. Пока все объявления предшествуют всему исполняемому коду.
У вас проблемы? Если это так, пожалуйста, отправьте код, который не работает.
В вашем примере, print_something()
неуместен.
Правило: Все функции должны быть определены перед любым кодом, который выполняет реальную работу
Поэтому поместите все операторы, которые работают last .