Die entpackenden/splat Operatoren *
und **
unterscheiden sich weit in ihrer Anwendbarkeit über Python-Versionen (2.7, 3.x < 3.5 und 3.x> = 3.5).Wo sind Pythons Splat-Operatoren * und ** gültig?
Zum Beispiel:
| 2.7 | 3.1-3.4 | 3.5
----------------------------------------------------------------------
function(*args) ✓ ✓ ✓
x, *y, z = [1, 2, 3, 4, 5] x ✓ ✓
{**x, **y} x x ✓
Gibt es weitere Unterschiede zwischen den verschiedenen Versionen, die ich verpasst habe? Ich schaue durch PEP und Readmes, aber die Dokumente sind nicht detailliert mit diesem.
Schöne Forschung; Wann wurde die Varargs-Syntax (* name) eingeführt? Dies ist älter als Python 3 (oder wurde möglicherweise rückportiert) –
@Chris_Rands Meintest du den in Zuordnung verwendeten? –
Ich meinte wie 'max (* (1,2,3))' –