[Python-de] Testen, ob Variabel existiert

Diez B. Roggisch deets at web.de
Sam Sep 4 14:45:31 CEST 2004


> Vielleicht habe ich es ja gelesen, als ich angefangen habe mich mit
> Python zu beschäftigen. Mein Problem ist aber, dass ich derartige Sachen
> erst dann lerne, wenn ich sie auch wirklich benutze. Also nur lesen
> bringt nix. Und den Code stur abtippen hat mir auch nicht geholfen.

Also um ehrlich zu sein - ich denke du hast schon eine Menge Gelegenheiten 
gehabt, dicts und Listen zu verwenden - nur was man nicht kennt, das benutzt 
man nicht. Henne-Ei-Problem. Aber das musst du loesen - du musst eine 
Intuition dafuer entwickeln, wann was in welche Datenstruktur gehoert. Das 
ist letztlich das A&O des Programmierens, in jeder Sprache uebrigens.

>
> 9.1. How does one group radio buttons to allow only one concurrent
> button to be depressed?
> GtkRadioButton() has a group parameter that defaults to None. The first
> button in the group is the group parameter for the remaining buttons. So
> you would do something like:
>
>  w = gtk.GtkWindow()
>  v = gtk.GtkVBox()
>  b1 = gtk.GtkRadioButton(label="Cows")
>  b2 = gtk.GtkRadioButton(label="Dogs", group=b1)
>  b3 = gtk.GtkRadioButton(label="Mountains", group=b1)
>  v.add(b1)
>  v.add(b2)
>  v.add(b3)
>  w.add(v)
>  w.show_all()
>
> [/Ausschnitt PyGTK FAQ]

Ok, dann brauchst du also genau eine Gruppe. Die kannst du nat. in group 
ablegen und dann immer verwenden.
> Wenn ich das aus der Python-Hilfe richtig verstehe, ist der Inhalt von
> dict() bei deinem Beispiel alles, was in [] geschrieben ist. Oder liege
> ich da falsch?

Ein dict ist ein assoziativer Speicher - ein Schluessel wird auf einen Wert 
abgebildet. ZB so:

>>> d = {}
>>> d['name'] = "Markus"
>>> d['nachname'] = "Habermehl"
>>> d
{'name' : 'Markus', 	'nachname' : 'Habermehl'}


Ich empfehle dir mal einfach den python interpreter zu starten und dann mit 
dicts rumzuspielen.

Fuer die Werte eines dicts gibts eigentlich keine Einschraenkungen, fuer die 
Schluessel einige wenige, um die du dich im Moment nicht kuemmern musst - 
normalerweise geht da so gut wie alles.

Du kannst ein dict wie oben auch mit der Funktion dict konstruieren, und zwar 
so:

d = dict([('nachnahme', 'Habermehl'), ('name', 'Markus')])

Das heisst eine Liste von tupeln aus (key, value)

Wie gesagt: beschaeftige dich damit - das ist sehr wichtig. Und das du das 
brauchst, hast du ja an dem gtk-code von mir gesehen....

Diez