Come posso creare due decoratori in Python per fare quanto segue? @makebold @makeitalic def say(): return "Hello" ... che dovrebbe restituire: "<b><i>Hello</i></b>" Non sto cercando di farlo HTMLin una vera applicazione, sto solo cercando di capire come funzionano i decoratori e il concatenamento dei decoratori.
Vorrei capire come funziona la funzione integrata property. Ciò che mi confonde è che propertypuò anche essere usato come decoratore, ma prende argomenti solo quando viene utilizzato come funzione integrata e non quando viene utilizzato come decoratore. Questo esempio è tratto dalla documentazione : class C(object): def __init__(self): self._x = …
Sto guardando del codice Python che utilizzava il @simbolo, ma non ho idea di cosa faccia. Inoltre non so cosa cercare poiché la ricerca di documenti Python o Google non restituisce risultati pertinenti quando @è incluso il simbolo.
Vedo schemi simili def __init__(self, x, y, z): ... self.x = x self.y = y self.z = z ... abbastanza frequentemente, spesso con molti più parametri. C'è un buon modo per evitare questo tipo di noiosa ripetitività? La classe dovrebbe ereditare namedtupleinvece?
Come faccio a passare un campo di classe a un decoratore su un metodo di classe come argomento? Quello che voglio fare è qualcosa di simile: class Client(object): def __init__(self, url): self.url = url @check_authorization("some_attr", self.url) def get(self): do_work() Si lamenta che il sé non esiste per il passaggio self.urlal …
Sono interessato a come utilizzare @propertyin Python. Ho letto i documenti di Python e l'esempio lì, secondo me, è solo un codice giocattolo: 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, value): self._x = value @x.deleter def x(self): del …
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() Produzione: "<b><i>hello world</i></b>" Capisco approssimativamente i decoratori e come funziona con uno di essi nella maggior parte degli esempi. In …
Vorrei sapere se è possibile controllare la definizione della funzione Python in base alle impostazioni globali (ad es. OS). Esempio: @linux def my_callback(*args, **kwargs): print("Doing something @ Linux") return @windows def my_callback(*args, **kwargs): print("Doing something @ Windows") return Quindi, se qualcuno sta usando Linux, verrà utilizzata la prima definizione di …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.