static variables in Python?

kj socyl at
Tue Jul 29 22:40:36 CEST 2008

Yet another noob question...

Is there a way to mimic C's static variables in Python?  Or something
like it?  The idea is to equip a given function with a set of
constants that belong only to it, so as not to clutter the global
namespace with variables that are not needed elsewhere.

For example, in Perl one can define a function foo like this 

*foo = do {
  my $x = expensive_call();
  sub {
    return do_stuff_with( $x, @_ );

In this case, foo is defined by assigning to it a closure that has
an associated variable, $x, in its scope.

Is there an equivalent in Python?


NOTE: In my address everything before the first period is backwards;
and the last period, and everything after it, should be discarded.

More information about the Python-list mailing list