Wert und Stelle in Liste suchen

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
Benutzeravatar
__blackjack__
User
Beiträge: 13114
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@DeaD_EyE: Zu einer Variable gehört ein Name, ein Wert, ein Typ, und ein Ort wo der Wert gespeichert ist. Das hat Python alles. Und wenn Du „Variable“ in einer Fehlermeldung sehen möchtest, kein Problem:

Code: Alles auswählen

In [113]: f()                                                                   
---------------------------------------------------------------------------
UnboundLocalError                         Traceback (most recent call last)
<ipython-input-113-c43e34e6d405> in <module>
----> 1 f()

<ipython-input-112-559a327f4cd1> in f()
----> 1 def f(): x += 1

UnboundLocalError: local variable 'x' referenced before assignment
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
narpfel
User
Beiträge: 645
Registriert: Freitag 20. Oktober 2017, 16:10

@__blackjack__: Und wenn sich der Ort ändert? Ist das dann eine neue Variable? Der GC in PyPy schiebt ja gerne mal Werte im Speicher hin und her.
Benutzeravatar
__blackjack__
User
Beiträge: 13114
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@narpfel: Nö, warum sollte das eine neue Variable sein? Der Ort gehört in Python zum Wert, also alleine Zuweisung eines anderen Wertes bedeutet ja auch schon, dass sich der Ort ändert. Wert und damit Typ und Ort können auch undefiniert sein. Siehe `UnboundLocalError`. Der Laufzeitumgebung ist bekannt, dass es eine lokale Variable gibt, aber die hat zu dem Zeitpunkt keinen Wert.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten