a chain of function decorators May 01, 2013 Question: How can I make two decorators in Python that would do the following. @makebold @makeitalic def say(): return "Hello" which should return 1 <b><i>Hello</i></b> Anwser A: #!/usr/bin/env python #-*-coding=utf-8-*- def makeblod(func): def wrap(): return "<b>" + func() + "</b>" return wrap def makeitalic(func): def wrap(): return "<i>" + func() + "</i>" return wrap @makeblod @makeitalic def say(): return "Hello" print say() # This is the exact equivalent to def say(): return "hello" say = makebold(makeitalic(say)) Anwser B: #!/usr/bin/env python #-*-coding=utf-8-*- def makehtml(tag=None): def wrap(func): def wrapped(*args, **kwargs): return "<%s>" % tag + func() + "</%s>" % tag return wrapped return wrap @makehtml("html") @makehtml("body") @makehtml("h1") def say(): return "Hello" print say() print say Anwser C: #!/usr/bin/env python #-*-coding=utf-8-*- from functools import wraps def makehtml(tag=None): def wrap(func): @wraps(func) def wrapped(*args, **kwargs): return "<%s>" % tag + func() + "</%s>" % tag return wrapped return wrap @makehtml("html") @makehtml("body") @makehtml("h1") def say(): return "Hello" print say() print say [stackoverflow.com top voted python questions] [1]how can i make a chain of function decorators [2]functools.wraps Read More OpenStack Projects Overview ### Openstack Service Projects(Ocata)>https://releases.openstack.org/ocata/index.html#### `aodh `> ceilometer alarming [github](https:/...… Continue reading hands on nova aggregates Published on February 20, 2017 How to use cloud-init Published on October 08, 2016