Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #99864

Re: static variables

Path csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail
From Marko Rauhamaa <marko@pacujo.net>
Newsgroups comp.lang.python
Subject Re: static variables
Date Wed, 02 Dec 2015 12:18:56 +0200
Organization A noiseless patient Spider
Lines 31
Message-ID <87a8ptcfvz.fsf@elektro.pacujo.net> (permalink)
References <n3i06o$9ot$1@news2.informatik.uni-stuttgart.de> <n3ibkd$nl0$1@dont-email.me> <565cf163$0$1612$c3e8da3$5496439d@news.astraweb.com> <n3jljn$os2$1@news2.informatik.uni-stuttgart.de> <n3joag$v4e$1@dont-email.me> <565e4329$0$1612$c3e8da3$5496439d@news.astraweb.com> <mailman.97.1449019041.14615.python-list@python.org> <565e4861$0$1587$c3e8da3$5496439d@news.astraweb.com> <565EAA1D.501@rece.vub.ac.be> <CAPTjJmoUfv5H4NzXY4xB3PGDD7eyZ2ws-Ghy6smJW7Ockn+5vQ@mail.gmail.com> <mailman.113.1449049639.14615.python-list@python.org>
Mime-Version 1.0
Content-Type text/plain
Injection-Info mx02.eternal-september.org; posting-host="b7cb1518d23ec19d482dcc9c31d30fdd"; logging-data="17609"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/SpgilNGfzPk8Mvrvx0lhr"
User-Agent Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)
Cancel-Lock sha1:O+MTNCtJUysCWaPiv5mBLhNEdOU= sha1:ueCh+GBYQPzXiFpZ+ghv9BclKGs=
Xref csiph.com comp.lang.python:99864

Show key headers only | View raw


Antoon Pardon <antoon.pardon@rece.vub.ac.be>:

> def foo()
>    foo.attr
>
> changes nothing about foo.attr being globally accessible.

I don't know why global accessibility is such a problem.

Anyway, in practice I handle such "static" variables as module globals.
If you want a more puristic solution, you could do:

   def _make_f():
       x = 0
       def f():
           nonlocal x
           x += 1
           return x
       return f

   f = _make_f()

   print(f())
   => 1
   print(f())
   => 2
   print(f())
   => 3


Marko

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

static variables Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2015-11-30 17:15 +0000
  Re: static variables Terry Reedy <tjreedy@udel.edu> - 2015-11-30 12:38 -0500
  Re: static variables BartC <bc@freeuk.com> - 2015-11-30 20:32 +0000
    Re: static variables Steven D'Aprano <steve@pearwood.info> - 2015-12-01 12:01 +1100
      Re: static variables Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2015-12-01 08:26 +0000
        Re: static variables Peter Otten <__peter__@web.de> - 2015-12-01 10:01 +0100
        Re: static variables Grobu <snailcoder@retrosite.invalid> - 2015-12-01 10:15 +0100
          Re: static variables Steven D'Aprano <steve@pearwood.info> - 2015-12-02 12:02 +1100
            Re: static variables Erik <python@lucidity.plus.com> - 2015-12-02 01:16 +0000
              Re: static variables Steven D'Aprano <steve@pearwood.info> - 2015-12-02 12:24 +1100
                Re: static variables Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2015-12-02 09:21 +0100
                Re: static variables Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2015-12-02 09:34 +0100
                Re: static variables Steven D'Aprano <steve@pearwood.info> - 2015-12-02 21:22 +1100
                Re: static variables Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2015-12-02 12:09 +0100
                Re: static variables Steven D'Aprano <steve@pearwood.info> - 2015-12-03 00:11 +1100
                Re: static variables Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2015-12-02 14:41 +0100
                Re: static variables Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-12-02 13:48 +0000
                Re: static variables Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2015-12-02 15:07 +0100
                Re: static variables Ian Kelly <ian.g.kelly@gmail.com> - 2015-12-02 08:15 -0600
                Re: static variables Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-12-02 14:31 +0000
                Re: static variables Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2015-12-02 16:30 +0100
                Re: static variables Ian Kelly <ian.g.kelly@gmail.com> - 2015-12-02 14:30 -0600
                Re: static variables Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2015-12-03 10:06 +0100
                Re: static variables Chris Angelico <rosuav@gmail.com> - 2015-12-02 20:23 +1100
                Re: static variables Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2015-12-02 10:47 +0100
                Re: static variables Marko Rauhamaa <marko@pacujo.net> - 2015-12-02 12:18 +0200
                Re: static variables Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2015-12-02 11:56 +0100
                Re: static variables Marko Rauhamaa <marko@pacujo.net> - 2015-12-02 13:30 +0200
                Re: static variables Steven D'Aprano <steve@pearwood.info> - 2015-12-03 00:17 +1100
        Re: static variables Wolfgang Maier <wolfgang.maier@biologie.uni-freiburg.de> - 2015-12-01 10:58 +0100
          Re: static variables Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2015-12-01 11:47 +0000

csiph-web