В чем разница между функцией, украшенной @staticmethodи одной, украшенной
В чем разница между функцией, украшенной @staticmethodи одной, украшенной
Как я могу сделать два декоратора в Python, которые будут делать следующее? @makebold @makeitalic def say(): return "Hello" ... который должен вернуть: "<b><i>Hello</i></b>" Я не пытаюсь сделать HTMLэто в реальном приложении - просто пытаюсь понять, как работают декораторы и...
Я хотел бы понять, как работает встроенная функция property. Что меня смущает, так это то, что он propertyтакже может быть использован в качестве декоратора, но он принимает аргументы только тогда, когда используется как встроенная функция, а не как декоратор. Этот пример из документации : class...
Я смотрю на некоторый код Python, который использовал @символ, но я понятия не имею, что он делает. Я также не знаю, что искать, так как поиск документов Python или Google не возвращает релевантные результаты, когда @символ...
Я вижу такие шаблоны, как def __init__(self, x, y, z): ... self.x = x self.y = y self.z = z ... довольно часто, часто с гораздо большим количеством параметров. Есть ли хороший способ избежать такого утомительного повторения? Должен ли класс наследовать от...
Как передать поле класса декоратору метода класса в качестве аргумента? Что я хочу сделать, это что-то вроде: class Client(object): def __init__(self, url): self.url = url @check_authorization("some_attr", self.url) def get(self): do_work() Он жалуется, что self не существует для передачи...
Меня интересует, как использовать @propertyв Python. Я читал документы Python, и, на мой взгляд, приведенный здесь пример - это просто игрушечный код: 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):...
У меня есть декоратор, как показано ниже. def myDecorator(test_func): return callSomeWrapper(test_func) def callSomeWrapper(test_func): return test_func @myDecorator def someFunc(): print 'hello' Я хочу улучшить этот декоратор, чтобы он принял еще один аргумент, как показано ниже 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() Выход: "<b><i>hello world</i></b>" Я примерно понимаю...
Я хотел бы знать, возможно ли управлять определением функции Python на основе глобальных настроек (например, ОС). Пример: @linux def my_callback(*args, **kwargs): print("Doing something @ Linux") return @windows def my_callback(*args, **kwargs): print("Doing something @ Windows") return Затем, если...