Können wir Call-Methoden basieren auf, wenn elif sonst haben ... Beispiel:wenn sonst Python Funktionsaufruf oder Methodenaufruf
if line2[1] = '1':
a(line2)
elif line2[1] = '2':
b(line2)
elif line2[1] = '3':
c(line2)
und die Liste geht weiter. Können wir Karten verwenden und die Funktion aufrufen? Sagen
Beispiel für Line-Eingänge:
line = [ '1', 'sagt', 'Hallo']
line = [ '2', 'Wie', 'Ist']
Code:
def g(line)
my_map = { '1': a(line),
'2': b(line),
'3': c(line, b),
......
and the list goes on
}
here if line[0] = '1' call a(line)
elif line[0] = '2' call b(line)
Wie rufe ich Funktion basierend auf die Eingabe .
Bitte senden Sie Beispielcode, wenn möglich
Dank Rakesh
line = [ '1', 'sagen', 'Hallo', '', '', '', '' , '', '', .... geht 5-15 mal weiter] Im selben Beispiel wie oben, wenn ich auch andere Variablen zuordnen muss. Wie mache ich es.
if line2[1] == '8':
p.plast = line2[3]
p.pfirst = line2[4]
p.pid = line2[9]
elif line2[1] == 'I':
p.slast = line2[3]
p.sfirst = line2[4]
p.sid = line2[9]
elif line2[1] == 'Q':
p.tlast = line2[3]
p.tfirst = line2[4]
p.tid = line2[9]
Gibt es auch eine Arbeit dafür.
statt (weil Sie die Funktion aufrufen) des Hinzufügens eine Umbruchfunktion 'g', können Sie ein funktionswertiges Wörterbuch haben. Wenn Sie einige Standardargumente übergeben müssen, wie im Fall von '3', können Sie ein' Lambda' verwenden. –
Zeile wird als Variable an diese Funktion gesendet. g (Linie) wird von einem anderen Ort aufgerufen. . Kannst du mir ein Beispiel schicken, bitte. Ich bin neu in diesem Bereich. –