Ein einziger führender Unterstrich „_var“:
Diese Verwendung in einem Namen, ist für den internen Gebrauch gedacht (z.B. zur Unterscheidung von private und public Variablen), und sie beruht auf einer Konvention der Python-Community. Dies ist ein Hinweis für Programmierer und nicht durch den Interpreter erzwungen (außer bei Wildcard-Importen). Bei einem Wildcard-Import (z.B. from my_module import *) sind _-Methoden nicht aufrufbar, nur bei einem regulären Import (z.B. import my_module). Diese Konvention erzwingt Python.
Ein einziger abschließender Unterstrich „var_“:
Wird nach Konvention verwendet, um Namenskonflikte mit Python-Schlüsselwörtern zu vermeiden.
Doppelter führender Unterstrich „__var“:
Löst bei Verwendung in einem Klassenkontext ein “name mangling” (Namensmodifiktaion) aus. Dies wird vom Python-Interpreter erzwungen, um zu verhindern, dass es zur Namenskollision kommt, wenn die Klasse erweitert wird.
Doppelter führender und abschließender Unterstrich „__var__“:
Zeigt spezielle Methoden an, die von Python definiert sind. Dieses Namensschema sollte man für eigene Attribute und Methoden vermeiden.
Nur ein einzelner Unterstrich „_“:
Wird manchmal als Name für temporäre oder unbedeutende Variablen verwendet („don’t care“). Außerdem stellt er das Ergebnis des letzten Ausdrucks in einer interaktiven Python-Sitzung dar.