was genau bedeutet ** in print("a={a}, b={b} and f={f}".format(**locals()))
Verfasst: Dienstag 22. Dezember 2015, 15:52
Hi, das Ergebnis ist mir bekannt:
führt dazu, dass die Wörterbucheinträge in der Formatierung genommen werden.
Aber ich kann mir nicht erklären, warum.
sorgt dafür, dass a, b und c dort hineingewürgt werden
wenn ich aber will, dass der Inhalt aus einem Wörterbuch genommen wird, also
Daher meine Frage: Was genau bewirken die beiden Sterne? Das sieht zwar nach c- Pointer- Dereferenzierung aus, aber das kann es ja nicht sein, da die Adressen/Zeiger ja in python nicht explizit verwendet werden.
Code: Alles auswählen
print("a={a}, b={b} and f={f}".format(**locals()))Aber ich kann mir nicht erklären, warum.
Code: Alles auswählen
print("a={a}, b={b} and f={f}".format(a=3, b=10, f=print)wenn ich aber will, dass der Inhalt aus einem Wörterbuch genommen wird, also
Code: Alles auswählen
wb = {'Antwort' = 42, 'Gruss' = 'Hallo'}
#so klappt es, wie erwartet
print("{Gruss} Welt, die Antwort lautet {Antwort}".format(**wb)
#liefert nicht das erwartete Ergebnis
print("{Gruss} Welt, die Antwort lautet {Antwort}".format(wb)