Qual é a diferença entre uma função decorada com @staticmethode uma decorada com
Qual é a diferença entre uma função decorada com @staticmethode uma decorada com
Como posso criar dois decoradores em Python que fazem o seguinte? @makebold @makeitalic def say(): return "Hello" ... que deve retornar: "<b><i>Hello</i></b>" Não estou tentando fazer HTMLisso em um aplicativo real - apenas tentando entender como os decoradores e o...
Gostaria de entender como a função propertyinterna funciona . O que me confunde é que propertytambém pode ser usado como um decorador, mas ele só aceita argumentos quando usado como uma função interna e não quando usado como um decorador. Este exemplo é da documentação : class C(object): def...
Estou vendo algum código Python que usou o @símbolo, mas não tenho idéia do que ele faz. Também não sei o que procurar ao pesquisar documentos do Python ou o Google não retorna resultados relevantes quando o @símbolo é
Eu vejo padrões como def __init__(self, x, y, z): ... self.x = x self.y = y self.z = z ... com bastante frequência, muitas vezes com muito mais parâmetros. Existe uma boa maneira de evitar esse tipo de repetitividade tediosa? Em namedtuplevez disso, a classe deve herdar
Como passo um campo de classe para um decorador em um método de classe como argumento? O que eu quero fazer é algo como: class Client(object): def __init__(self, url): self.url = url @check_authorization("some_attr", self.url) def get(self): do_work() Ele reclama que o eu não existe para...
Estou interessado em como usar @propertyem Python. Eu li os documentos python e o exemplo lá, na minha opinião, é apenas um código de brinquedo: class C(object): def __init__(self): self._x = None @property def x(self): """I'm the 'x' property.""" return self._x @x.setter def x(self,...
Eu tenho um decorador como abaixo. def myDecorator(test_func): return callSomeWrapper(test_func) def callSomeWrapper(test_func): return test_func @myDecorator def someFunc(): print 'hello' Eu quero melhorar este decorador para aceitar outro argumento como abaixo def
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() Resultado: "<b><i>hello world</i></b>" Eu...
Gostaria de saber se é possível controlar a definição da função Python com base nas configurações globais (por exemplo, SO). Exemplo: @linux def my_callback(*args, **kwargs): print("Doing something @ Linux") return @windows def my_callback(*args, **kwargs): print("Doing something @ Windows")...