ich erhalte immer noch die selbe Fehlermeldung: <function längeecocode at 0x03D8F228>
Du musst auf jeden Fall noch die Basics lernen.
Der Name "ländercode" zeigt auf die erstellte Funktion.
Die Klammern () rufen die Funktion auf und dann wird ein oder mehrere Objekte zurückgeliefert.
Du rufst die Funktion aber nicht auf.
Code: Alles auswählen
def hallo():
return 42
print("Repräsentation der Funktion", hallo)
print("Name der Funktion", hallo.__name__)
print("Rückgabewert", hallo())
print()
bar = hallo
print("Repräsentation der Funktion", bar)
print("Name der Funktion", bar.__name__)
print("Rückgabewert", bar())
Repräsentation der Funktion <function hallo at 0x7f568bb6b250>
Name der Funktion hallo
Rückgabewert 42
Repräsentation der Funktion <function hallo at 0x7f568bb6b250>
Name der Funktion hallo
Rückgabewert 42
Wie man sehen kann, zeigen die Namen "hallo" und "bar" auf dieselbe Funktion (virtuelle Speicheradresse ist gleich).
Das Attribut __name__ wird der Funktion zu Zeitpunkt der Definition zugewiesen.
Erst der Aufruf der Funktion gibt auch einen Rückgabewert zurück.
Was man noch so mit Funktionen machen kann:
Code: Alles auswählen
def hello():
print("Hello World")
def hello_david():
print("Hello David")
functions = [hello, hello_david]
# Auf das erste Element zugreifen (hello) und die Funktion aufrufen mit ()
functions[0]()
# Auf das zweite Element zugreifen (hello) und die Funktion aufrufen mit ()
functions[1]()
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server