Variablen auf Existenz prüfen

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
HarryH
User
Beiträge: 266
Registriert: Freitag 23. Mai 2003, 09:08
Wohnort: Deutschland

Donnerstag 31. Juli 2003, 15:29

Hallo,

Geht das irgendwie? Kann man eine Variable auf ihre Existenz prüfen, also ob sie eine Referenz besitzt oder nicht?
Ich möchte gerne ein Variable in einer Funktion verwenden, und wenn es die Variable noch nicht gibt soll sie belegt werden.
Beyond
User
Beiträge: 227
Registriert: Freitag 6. September 2002, 19:06
Kontaktdaten:

Donnerstag 31. Juli 2003, 15:38

Shuss aus der Hüfte:
Probier mal:

Code: Alles auswählen

try:
   variable= variable
except:
   variable= "mit was das auch immer initialisiert werden soll"
Es geht aber bestimmt schicker: refcount, lookup im passenden namespace etc

cu beyond
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Donnerstag 31. Juli 2003, 16:35

Beyond hat geschrieben:Shuss aus der Hüfte:
Probier mal:

Code: Alles auswählen

try:
   variable= variable
except:
   variable= "mit was das auch immer initialisiert werden soll"
Es geht aber bestimmt schicker: refcount, lookup im passenden namespace etc

cu beyond
Ich würde sagen, dass ist schon das beste, weil refcount braucht ja den Namen und wenn der nicht belegt ist gibts nen Fehler. Allerdings würde ich bei dir nur nen NameError abfangen:

Code: Alles auswählen

try:
   variable
except NameError:
   variable= "mit was das auch immer initialisiert werden soll"
Zuletzt geändert von Milan am Freitag 1. August 2003, 19:14, insgesamt 1-mal geändert.
HarryH
User
Beiträge: 266
Registriert: Freitag 23. Mai 2003, 09:08
Wohnort: Deutschland

Freitag 1. August 2003, 07:14

Danke für eure Anregungen.
Die Lösung ist zwar nicht die Kürzeste, aber sie funktioniert.
:roll:
ASCII158
User
Beiträge: 80
Registriert: Samstag 28. September 2002, 15:40
Wohnort: München
Kontaktdaten:

Freitag 1. August 2003, 18:01

Es ist die kürzeste.

(Jedesmal wenn ich deinen Namen lese lese ich "HarryP"... :lol: :wink:)
mfg,

10011110
Antworten