[Python-de] "Static" Variabeln in einer Funktion möglich?

Tino Lange tl_news at nexgo.de
Sun Apr 13 19:34:01 EDT 2003


Am Sonntag 13 April 2003 17:29 schrieb Klaus-Gerd Meyer:

> kann ich in einer Python Funktion eine Variabel über den mehrfachen Aufruf
> der Funktion erhalten, so wie mit "static" in C?
> Mit Klassen geht das wohl, aber mit einer einfach Funktion?

Funktionen sind auch nur Namensräume. Also klappt folgendes:

#####################################

#! /usr/bin/env python

###

def funktion(currentValue):

  print "Ich bin die Funktion 'funktion' und wurde mit %i aufgerufen!" % 
(currentValue)

  if funktion.__dict__:
    lastValue = funktion.__dict__.get("lastValue")
    if lastValue != None:
      print "  (Zuletzt wurde ich übrigens mit %i aufgerufen!)" % (lastValue)

  funktion.lastValue = currentValue

###

for i in range(10):
  funktion(i)

#####################################

Viele Grüße

Tino




More information about the Python-de mailing list