Ich versuche, globale Variablen zu verwenden, um sie am Anfang meines Codes zu deklarieren, genau wie in C#, aber wenn ich sie in einer Funktion bearbeite und versuche, sie in einer anderen Funktion aufzurufen, wird die Variable angezeigt wird nicht erklärt? DieseMache ich einen Fehler mit globalen Variablen wie diesem?
ist, wo ich die Variablen deklarieren:
from tkinter import *
import os
global Name
global Wmain
global directory
global Username
global Password
global Code
Dies ist, wo ich die das Verzeichnis Variablen ändern:
def NameGet():
Name = NameEntry.get()
directory = ('C:\\Users\\Bradley\\Desktop\\Log In system\\Members\\' + Name + '.txt')
CheckFile(Name)
Dies ist, wo ich die Störung erhalte:
def SignUpFinished():
with open(directory, W) as F:
F.write(Username)
F.write(Password)
F.write(Code)
F.close()
Jetzt fühle ich, dass ich entweder einen wirklich Anfängerfehler mache oder etwas nicht richtig mit meinem Code funktioniert. irgendwelche Ideen?
Was auch immer Variablen, die Sie in einer Funktion verwenden möchten, müssen Sie 'global var' am Anfang hinzuzufügen (wobei var die var Sie ändern möchten). Anstatt so viele globale Variablen zu verwenden, würde ich empfehlen, eine Klasse zu verwenden, um verschiedene Methoden in Bezug auf dieselbe Aufgabe zu verwalten. – SneakyTurtle
In Ihrem Beispiel scheint es, dass Ihre Globalen Konstanten sind. Wenn das der Fall ist, ist es wahrscheinlich am besten, sie in ihre eigene Datei zu stecken und sie dann zu importieren. Wenn Sie die Werte ändern müssen, möchten Sie diese wahrscheinlich in eine Singleton-Klasse einbetten. – Dan
Wenn ich versuche, global in Front zu setzen, weil ich es in einer Anweisung verwende, nehme ich an, dass es einen Fehler wirft, würde jemand in der Lage sein, mir eine grundlegende Klasse zu zeigen, die ich für die Struktur verwenden konnte, wie ich nie in Klassen getaucht habe –