[Python-de] funktionen und statische variablen

Gerhard Häring haering_python at gmx.de
Tue Sep 17 11:35:18 EDT 2002


* Heiko Schwarzenberg <hs at lightwerk.com> [2002-09-17 08:16 +0200]:
> hallo,
> 
> gibt es eine möglichkeit, innerhalb von funktionen statische variablen
> zu definieren?

Du kannst Attribute in Funktionen setzen:

>>> def getnext():
...   if not hasattr(getnext, 'counter'): getnext.counter = 0
...   getnext.counter += 1
...   return getnext.counter
...
>>> getnext()
1
>>> getnext()
2

Ob man das so machen will, ist eine andere Frage.

> bisher hab ich mir immer mit globalen variablen geholfen,
> aber das ist ja nicht sehr elegant...

Verkauf sie als 'Singleton', dann ist es elegant ;-)

> hab ihr einen hinweis?

Oft ist eine Klasse mit einer Klassenvariable eine gute Lösung.

-- Gerhard




More information about the Python-de mailing list