Wie kann ich in vscode den Typ einer Variable in Python setzen (für intellisense)?
mydb = None <-- Den Typ der Variable möchte ich manuell setzen
def connectDatabase():
global config
mydb = mysql.connector.connect(
host = config["mysql_host"],
user = config["mysql_user"],
password = config["mysql_password"],
database = config["mysql_database"]
)
if __name__ == "__main__":
connectDatabase()
mydb. <--- kein intellisense
vscode zeigt mir in der Letzten Zeile an das der Datentyp None ist. In Javascript kann man den Typ über die jsDoc Definieren. Kann man so was auch in Python machen? Ich möchte die Variable mysb den Datentypen MySQLConnection zuweisen damit ich den richtigen intellisense bekomme. Kann mir einer Helfen?
1 Antwort
Da liegt ein Missverständnis vor. In deinem Programm gibt es zwei verschiedene Variablen mit dem Namen "mydb". Eine existiert nur lokal in der Funktion: es wird ihr zwar ein Wert zugewiesen, aber dann wird sie nie wieder verwendet. Die andere, "globale" Variable ist und bleibt tatsächlich None.
Was du wohl eigentlich willst: die Funktion connectDatabase sollte die Datenbankverbindung als Rückgabewert liefern. Wenn dir das unklar ist, schau dir nochmal an, wie Funktionen...funktionieren: was sind Parameter, was sind Rückgabewerte, was ist der Gültigkeitsbereich von Variablen.
Du solltest in Funktionen gar keine globalen Variablen verwenden. Das läuft dem Sinn von Funktionen entgegen, es macht Programme schwer verständlich und schwer zu warten.
hatte das vergessen global mydb zu schreiben. Danke, das habe ich wirklich nicht gesehen