Message169389
I just learned python @ decorator, it's cool, but soon I found my modified code coming out weird problems.
def with_wrapper(param1):
def dummy_wrapper(fn):
print param1
param1 = 'new'
fn(param1)
return dummy_wrapper
def dummy():
@with_wrapper('param1')
def implementation(param2):
print param2
dummy()
I debug it, it throws out exception at print param1
UnboundLocalError: local variable 'param1' referenced before assignment
If I remove param1 = 'new' this line, without any modify operation(link to new object) on variables from outer scope, this routine might working.
Is it meaning I only have made one copy of outer scope variables, then make modification?
The policy of variable scope towards decorator is different? |
|
Date |
User |
Action |
Args |
2012-08-29 16:08:50 | V.E.O | set | recipients:
+ V.E.O |
2012-08-29 16:08:49 | V.E.O | set | messageid: <1346256529.91.0.837970613737.issue15813@psf.upfronthosting.co.za> |
2012-08-29 16:08:48 | V.E.O | link | issue15813 messages |
2012-08-29 16:08:47 | V.E.O | create | |
|