Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #98804

Re: Where is decorator in this example code?

Newsgroups comp.lang.python
Date 2015-11-14 04:13 -0800
References <3800f31d-e570-4492-9dcf-58105c140b2b@googlegroups.com>
Message-ID <bf73e0ab-2394-42a6-bb53-dd73be3897e3@googlegroups.com> (permalink)
Subject Re: Where is decorator in this example code?
From fl <rxjwg98@gmail.com>

Show all headers | View raw


On Saturday, November 14, 2015 at 7:11:11 AM UTC-5, fl wrote:
> Hi,
> 
> I am learning decorator following this link:
> 
> http://thecodeship.com/patterns/guide-to-python-function-decorators/
> 
> When I read decorator on class, I don't see decorator taking in effect.
> In the following code snippet, there is the same print out if I comment out
> two lines 'def p_decorate(func):' and '@p_decorate'.
> 
> Can you tell me what role of decorator in this code?
> 
> 
> Thanks,
> 
> ......
> def p_decorate(func):
>    def func_wrapper(self):
>        return "<p>{0}</p>".format(func(self))
>    return func_wrapper
> 
> class Person(object):
>     def __init__(self):
>         self.name = "John"
>         self.family = "Doe"
> 
>     @p_decorate
>     def get_fullname(self):
>         return self.name+" "+self.family
> 
> my_person = Person()
> print my_person.get_fullname()

My OP may not be clear enough. Here is the key question. After the function
definition, there is no obvious decorator application in the function call:

my_person = Person()
print my_person.get_fullname()

Where is the difference between the non-decorator and decorator in this 
example?

Thanks,

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Where is decorator in this example code? fl <rxjwg98@gmail.com> - 2015-11-14 04:10 -0800
  Re: Where is decorator in this example code? fl <rxjwg98@gmail.com> - 2015-11-14 04:13 -0800
    Re: Where is decorator in this example code? Chris Warrick <kwpolska@gmail.com> - 2015-11-14 13:37 +0100
      Re: Where is decorator in this example code? fl <rxjwg98@gmail.com> - 2015-11-14 06:46 -0800
        Re: Where is decorator in this example code? Ian Kelly <ian.g.kelly@gmail.com> - 2015-11-14 09:08 -0700

csiph-web