[Level 2] How to implement decorator in Python (II).
Months ago, I wrote a simple decorator, without decorator parameters, implement in Python.
[Level 2] How to implement decorator in Python (I).
Now, I'll show you how to implement decorator with parameter.
The sample of Python decorator (1, by class):
The sample of Python decorator (2, by wrap function):
Wish this helps.
regards,
Stanley Huang
[Level 2] How to implement decorator in Python (I).
Now, I'll show you how to implement decorator with parameter.
The sample of Python decorator (1, by class):
#!/bin/env python class Decorator: def __init__(self, man, woman): self.man = man self.woman = woman pass def __call__(self, f): def wrapped_f(*args, **kargs): print 'hello %s' % self.man f(*args, **kargs) print 'world %s' % self.woman return wrapped_f @Decorator('stanley', 'christy') def test(who): print 'test(%s)' % who test('joseph')
$ ./test.py hello stanley test(joseph) world christy
The sample of Python decorator (2, by wrap function):
#!/bin/env python def Decorator(man, woman): def wrap(f): def wrapped_f(*args, **kargs): print 'hello %s' % man f(*args, **kargs) print 'world %s' % woman return wrapped_f return wrap @Decorator('stanley', 'christy') def test(who): print 'test(%s)' % who test('joseph')
$ ./test.py hello stanley test(joseph) world christy
Wish this helps.
regards,
Stanley Huang
Comments
Post a Comment