Das ist eine gute Frage. Du kannst stets mit einem minimalen Template anfangen und dies dann je nach Anspruch weiter aufbauen. Das meiste wurde hier schon vorgeschlagen. Sinnvoll ist folgender Start:
Code: Alles auswählen
def main():
# entry point
# muss nicht 'main' heissen, ist in Anlehnung an C aber oft üblich
if __name__ == "__main__":
# import switch
main()
Damit kannst du jedes Programm beginnen und hast ein Template, das zur Vermeidung globaler Variabler beitragen kann. Wenn dein Programm größer wird und weitere Funktionen hat, sowie andere Module importiert, so gehören diese Importe an den Anfang der Datei:
Code: Alles auswählen
import that
import this # -> easter egg ;)
def more_functions_here():
...
def main():
# entry point
if __name__ == "__main__":
# import switch
main()
Soll das Programm direkt von der Kommandozeile ausführbar sein, so brauchst du eine "shebang" Angabe an der ersten(!) Zeile in der Datei, die den Pfad zum gewünschten Python-Interpreter angibt, was zuverlässig aber nur auf dem eigenen System funktioniert, da andere Systeme (d.h. die Rechner anderer Leute) anders eingerichtet sein können. Daher siehst du oft, dass in solchen Fällen der Pfad aus dem Environment bezogen wird (was üblicherweise das System-Python startet):
Auf Systemen, die nur noch Python 3 bereitstellen, kann auch
funktionieren. Das solltest du aber zuvor testen, denn es könnte dadurch auch Python 2 gestartet werden – etwas, das nur noch mit legathy-Software gemacht werden sollte.
Eine optionale Kodierungs-Angabe wie
muss gleichfalls am Anfang der Datei stehen. Falls sich dort bereits die shebang Information befindet, dann in der zweiten Zeile – nicht aber umgekehrt!
Die Kodierungs-Angabe war wichtig bei Python 2 Programmen, da der Interpreter ansonsten von einer ascii-Kodierung ausging. Seit Python 3 ist dies utf-8. Daher kann die Kodierungs-Angabe in Python 3 entfallen. Die Datei muss dann aber auch im utf-8 Format abgespeichert werden. Moderne Editoren ermöglichen dies, oftmals ist es sogar bereits die Standard-Einstellung.
Die Meta-Informationen, wie Autor und Lizenz, kannst du dann nach der optionalen shebang Zeile, aber vor den Importen, als Kommentare oder innerhalb eines Dac-Strings ablegen. Sollen diese Informationen automatisch extrahierbar sein, so kannst du dich an __blackjack__s Beispiel orientieren. Das aber eher was für fortgeschrittene und komplexere Anwendungen.