decorator problem
Chris Rebert
clp2 at rebertia.com
Tue Jan 10 00:15:53 EST 2012
More information about the Python-list mailing list
Tue Jan 10 00:15:53 EST 2012
- Previous message (by thread): decorator problem
- Next message (by thread): decorator problem
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Mon, Jan 9, 2012 at 8:14 PM, contro opinion <contropinion at gmail.com> wrote: > test1.py > > def deco(func): > print 'i am in deco' > > @deco > def test(): > print 'i am in test' > > > when you run it ,you get : > i am in deco > > > > test2.py > > def tsfunc(func): > def wrappedFunc(): > print 'i am in deco' > return func() > return wrappedFunc > > @tsfunc > def test(): > print "i am in test" > > when you run test2.py,you can get nothing ,why can't i get :?? > i am in deco Because that `print` is in wrappedFunc() [which in this case is A.K.A. test()], which is only defined, never called. Try adding a call to test() at the end of your script. Contrast this with deco(), which has the `print` directly in its body rather than inside a nested function definition. Also, might I suggest reading a tutorial on decorators or asking on an IRC channel, rather than pelting the mailing list with all these simple and related questions in such a fairly short timeframe? At least please keep all these in a single thread instead of starting a new one every single time... Cheers, Chris
- Previous message (by thread): decorator problem
- Next message (by thread): decorator problem
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list