Preguntas etiquetadas con python-decorators


17
¿Cómo hacer una cadena de decoradores de funciones?
¿Cómo puedo hacer dos decoradores en Python que hagan lo siguiente? @makebold @makeitalic def say(): return "Hello" ... que debería volver: "<b><i>Hello</i></b>" No estoy tratando de hacerlo de HTMLesta manera en una aplicación real, solo estoy tratando de entender cómo funcionan los decoradores y el encadenamiento de decoradores.




5
Decorador de método de clase con argumentos propios?
¿Cómo paso un campo de clase a un decorador en un método de clase como argumento? Lo que quiero hacer es algo como: class Client(object): def __init__(self, url): self.url = url @check_authorization("some_attr", self.url) def get(self): do_work() Se queja de que el yo no existe para pasar self.urlal decorador. ¿Hay alguna …


5
¿Cómo paso argumentos adicionales a un decorador de Python?
Tengo un decorador como el de abajo. def myDecorator(test_func): return callSomeWrapper(test_func) def callSomeWrapper(test_func): return test_func @myDecorator def someFunc(): print 'hello' Quiero mejorar este decorador para aceptar otro argumento como el siguiente def myDecorator(test_func,logIt): if logIt: print "Calling Function: " + test_func.__name__ return callSomeWrapper(test_func) @myDecorator(False) def someFunc(): print 'Hello' Pero este …

1
Orden de ejecución del decorador
def make_bold(fn): return lambda : "<b>" + fn() + "</b>" def make_italic(fn): return lambda : "<i>" + fn() + "</i>" @make_bold @make_italic def hello(): return "hello world" helloHTML = hello() Salida: "<b><i>hello world</i></b>" Entiendo aproximadamente sobre decoradores y cómo funciona con uno de ellos en la mayoría de los ejemplos. …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.