[Python-ideas] 'Injecting' objects as function-local constants

Greg Ewing greg.ewing at canterbury.ac.nz
Tue Jun 14 00:37:20 CEST 2011


Nick Coghlan wrote:
> -lots on any idea that would make:
>> def f():
> i = 0
> def g1():
> return i
> i = 1
> def g2():
> return i
> return [g1, g2]
>> differ in external behaviour from:
>> def f():
> result = []
> for i in range(2):
> def g():
> return i
> result.append(g)
> return result

One possible variation of my idea wouldn't change the existing
behaviour of the for-loop at all, but would require you to
explicitly request new-binding behaviour, using something like
 for new i in range(2):
 def g():
 return i
-- 
Greg


More information about the Python-ideas mailing list

AltStyle によって変換されたページ (->オリジナル) /