[Python-Dev] nested scopes confusion (original) (raw)
Thomas Heller thomas.heller@ion-tof.com
Tue, 4 Dec 2001 20:35:19 +0100
- Previous message: [Python-Dev] [development doc updates]
- Next message: [Python-Dev] nested scopes confusion
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I would have expected the following code to print 1, 2, ..., 9. Instead it prints 25, 25, 25, .. 25.
def functions(): result = [] for i in range(10): def mth(*args): return i result.append(mth) i = 25 return result
for mth in functions(): print mth()
Reading PEP227, I can (barely) understand why it behaves this way.
How do I achieve the desired effect? Note that the default argument trick (def mth(i=i): ...) does not work because *args is present.
Thomas
- Previous message: [Python-Dev] [development doc updates]
- Next message: [Python-Dev] nested scopes confusion
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]