Jaka jest różnica między funkcją ozdobione @staticmethodi jeden ozdobione
W Pythonie dekoratory to funkcje, które w wygodny sposób zmieniają funkcje, metody lub klasy przy użyciu specjalnej składni. Dekoratory dynamicznie zmieniają funkcjonalność bez zmiany dekorowanego kodu źródłowego.
Jaka jest różnica między funkcją ozdobione @staticmethodi jeden ozdobione
Jak mogę zrobić dwa dekoratory w Pythonie, które wykonałyby następujące czynności? @makebold @makeitalic def say(): return "Hello" ... które powinny zwrócić: "<b><i>Hello</i></b>" Nie próbuję HTMLtego zrobić w prawdziwej aplikacji - po prostu próbuję zrozumieć, jak...
Chciałbym zrozumieć, jak propertydziała funkcja wbudowana . To, co mnie dezorientuje, to fakt, że propertymożna go również używać jako dekoratora, ale wymaga tylko argumentów, gdy jest używany jako funkcja wbudowana, a nie jako dekorator. Ten przykład pochodzi z dokumentacji : class C(object):...
Patrzę na jakiś kod Pythona, który używał tego @symbolu, ale nie mam pojęcia, co on robi. Nie wiem też, czego szukać, ponieważ wyszukiwanie dokumentów w języku Python lub Google nie zwraca odpowiednich wyników, gdy ten @symbol jest
Widzę takie wzory def __init__(self, x, y, z): ... self.x = x self.y = y self.z = z ... dość często, często z dużo większą liczbą parametrów. Czy istnieje dobry sposób na uniknięcie tego typu żmudnej powtarzalności? Czy namedtuplezamiast tego klasa powinna dziedziczyć...
Jak przekazać pole klasy do dekoratora w metodzie klasy jako argument? To, co chcę zrobić, to coś takiego: class Client(object): def __init__(self, url): self.url = url @check_authorization("some_attr", self.url) def get(self): do_work() Narzeka, że jaźń nie istnieje do przekazania...
Interesuje mnie, jak używać @propertyw Pythonie. Przeczytałem dokumentację Pythona, a przykład tam, moim zdaniem, to tylko kod zabawki: 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):...
Mam dekoratora jak poniżej. def myDecorator(test_func): return callSomeWrapper(test_func) def callSomeWrapper(test_func): return test_func @myDecorator def someFunc(): print 'hello' Chcę ulepszyć ten dekorator, aby zaakceptował inny argument, jak poniżej def myDecorator(test_func,logIt):...
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() Wynik: "<b><i>hello world</i></b>" Z grubsza...
Chciałbym wiedzieć, czy można kontrolować definicję funkcji Pythona w oparciu o ustawienia globalne (np. System operacyjny). Przykład: @linux def my_callback(*args, **kwargs): print("Doing something @ Linux") return @windows def my_callback(*args, **kwargs): print("Doing something @ Windows")...