Ich bin neu in Python, daher ist dies wahrscheinlich eine einfache Frage. Der folgende Code in einer Python-Datei (Modul) verwirrt mich leicht:
if __name__ == '__main__':
x = 1
print x
In anderen Sprachen, in denen ich gearbeitet habe, würde dieser Code eine Ausnahme auslösen, da die xVariable lokal für die ifAnweisung ist und nicht außerhalb der Anweisung existieren sollte. Aber dieser Code wird ausgeführt und gedruckt 1. Kann jemand dieses Verhalten erklären? Sind alle in einem Modul erstellten Variablen global / für das gesamte Modul verfügbar?
ifobige Anweisung nicht zutrifft (dh__name__beispielsweise nicht'__main__', wenn Sie das Modul importieren, anstatt es auf oberster Ebene auszuführen), wurdexes nie gebunden, und die nachfolgendeprint xAnweisung wird ein werfenNameError: name 'x' is not defined.