Oh my, that is very cool! So, I can do this: def foo(i): if not 'bar' in foo.__dict__: foo.bar = 5 foo.bar += i
for a in range(10): foo(1) print (foo.bar) Thanks. I will have to play more with this. On Mon, Apr 27, 2020 at 5:31 PM Michael Torrie <torr...@gmail.com> wrote: > On 4/27/20 10:39 AM, Bob van der Poel wrote: > > Thanks Chris! > > > > At least my code isn't (quite!) as bad as the xkcd example :) > > > > Guess my "concern" is using the initialized array in the function: > > > > def myfunct(a, b, c=array[0,1,2,3] ) > > > > always feels like an abuse. > > > > Has anyone seriously considered implementing a true static variable in a > > function? Is there a PEP? > > There's actually no need. You can create attributes on the function > itself, just like a regular object: > > def foo(): > if not 'bar' in foo.__dict__: > foo.bar = 5 > > print (foo.bar) > > > -- > https://mail.python.org/mailman/listinfo/python-list > -- **** Listen to my FREE CD at http://www.mellowood.ca/music/cedars **** Bob van der Poel ** Wynndel, British Columbia, CANADA ** EMAIL: b...@mellowood.ca WWW: http://www.mellowood.ca -- https://mail.python.org/mailman/listinfo/python-list