Ich finde dein Beispiel leider recht verwirrend. Mit 'import <name>' importiert man ja komplette Module, d.h. in deinem Fall ein Modul namens "Testfunktion_02.py". Daher ist der Name unpassend gewählt, denn das ist ja keine Funktion. Ein Modul kann höchstens Funktionen enthalten. Die würdest du dann als 'Testfunktion_02.<funktions_name>(..)' aufrufen.
Wozu ist denn der Abschnitt:
Code: Alles auswählen
# Testfunktion_02
def funktion_1 (zahl):
print(zahl * 2)
gedacht? Soll das nur ein Beispiel sein, um zu zeigen, wie die Funktion aus dem anderen Modul, aussieht, oder soll das irgendetwas machen? Denn eigentlich ist das nur eine Funktion, die nirgendwo aufgerufen wird, mit einem Kommentar davor.
In der Zeile 'liste_übergeben(liste, Testfunktion_02)') übergibst du dann das Modul als Parameter und verwendest es in der Funktion wie eine Funktion; das ist sehr ungewöhnlich.
Ansonsten: Die Listenerzeugung und der Listenaufruf gehören in die 'main'-Funktion. Eingerückt wird per Konvention mit vier Leerzeichen.