Where is decorator in this example code?

Chris Warrick kwpolska at gmail.com
Sat Nov 14 07:37:44 EST 2015


On 14 November 2015 at 13:13, fl <rxjwg98 at gmail.com> wrote:
> 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?
[snip code]
>
> 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,
> --
> https://mail.python.org/mailman/listinfo/python-list

Have you tried executing the code with and without the decorator?

$ python2 without-decorator.py
John Doe
$ python2 with-decorator.py
<p>John Doe</p>

Basically, the decorator wraps the output of your get_fullname
function with HTML <p> tags.

(Running code examples is a great way to understand them.)

-- 
Chris Warrick <https://chriswarrick.com/>
PGP: 5EAAEA16



More information about the Python-list mailing list