was macht variable, _

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mr.mc.mauser
User
Beiträge: 25
Registriert: Sonntag 4. September 2005, 01:18

Hallo,

ich bin heute über etwas für ich neues gestolpert.

Code: Alles auswählen

daten = ('test1','test2')
print (daten)

print (daten[0])

daten2, _ = daten
print(daten2)
was macht dieses , _
es sieht für mich aus als wäre es identisch zu [0]

das hab ich auch in einem meiner Bücher noch nie gesehen.

Gruß
Robert
__deets__
User
Beiträge: 14540
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ja, das ist auch verwandt. Das Ding nennt sich Tupel unpacking und ist sehr nützlich wenn man zb mehrere Rückgabewerte con einer Funktion haben will.

Und der unterstrich ist nicht besonderes, nur Konvention für “interessiert mich nicht”.

In deinem Fall ist es ein bisschen Geschmackssache ob man das so macht. Deutlich klarer ist es zb hier:

a, b, c, _, d = etwas()
mr.mc.mauser
User
Beiträge: 25
Registriert: Sonntag 4. September 2005, 01:18

Danke
Benutzeravatar
sls
User
Beiträge: 480
Registriert: Mittwoch 13. Mai 2015, 23:52
Wohnort: Country country = new Zealand();

Noch als Ergänzung: in der interaktiven Python-Shell hat der Underscore noch eine andere Bedeutung. Werte die sich z.B. durch arithmetische Operationen ergeben und nicht an eine Variable gebunden sind, können via _ aufgerufen werden:

Beispiel:

Code: Alles auswählen

>>> a = 10
>>> b = 5
>>> a / b
2.0
>>> 4 / _
2.0
>>> _ / 2
1.0
Das ganze funktioniert allerdings nicht in einem Python-File, da Werte Variablen zugewiesen sein müssen. _ enthält außerdem immer nur den letzten Wert.
When we say computer, we mean the electronic computer.
Antworten