homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

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:50V.E.Osetrecipients: + V.E.O
2012年08月29日 16:08:49V.E.Osetmessageid: <1346256529.91.0.837970613737.issue15813@psf.upfronthosting.co.za>
2012年08月29日 16:08:48V.E.Olinkissue15813 messages
2012年08月29日 16:08:47V.E.Ocreate

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