Funktion einer Klasse durch Variablennamen aufrufen
Verfasst: Donnerstag 18. Juli 2019, 15:58
Servus liebes Forum,
es beschäftigt mich wieder eine Frage zu der ich keine Lösung finde.
Folgender Quelltext:
Ich erhalte immer als Fehler einen AttributeError: 'Klasse' object has no attribute 'instanzfunktion'
Warum übernimmt er nun nicht den Wert der Variablen "instanzfunktion"?
Ich bitte um Hilfe, zumal ich leider nichts im Internet noch in meinen Büchern finden kann.
es beschäftigt mich wieder eine Frage zu der ich keine Lösung finde.
Folgender Quelltext:
Code: Alles auswählen
def eingabe_erkennen(eingabe, klasse):
def verzweigung_bei_eingabe(instanzfunktion, befehlsliste):
if len(befehlsliste) < 2:
befehlsliste.append(input("Suchbegriff: "))
#klasse.anzeigen(befehlsliste[1]) -> das sollte bei der Ausgabe eigentlich ausgeführt werden
klasse.instanzfunktion(befehlsliste[1]) # -> es sollte die Klassenfunktion "anzeigen" aufgerufen werden
else:
klasse.instanzfunktion(befehlsliste[1])
#zerlegen und in eine Liste schreiben
eingabe = eingabe.split(" ")
if eingabe[0] == "s":
verzweigung_bei_eingabe(anzeigen, eingabe)
elif eingabe[0] == "b":
verzweigung_bei_eingabe(bestellen, eingabe)
def main():
A = Klasse()
while True:
#Eingabeformat: "s" Leerzeichen "Zeichenkombination" -> s abc
eingabe = input("Eingabe: ")
eingabe_erkennen(eingabe, A)
if __name__ == "__main__":
main()
Warum übernimmt er nun nicht den Wert der Variablen "instanzfunktion"?
Ich bitte um Hilfe, zumal ich leider nichts im Internet noch in meinen Büchern finden kann.