Message169389
| Author |
V.E.O |
| Recipients |
V.E.O |
| Date |
2012年08月29日.16:08:47 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1346256529.91.0.837970613737.issue15813@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
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? |
|
History
|
|---|
| 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 |
|