Декоратор - это объектно-ориентированный шаблон проектирования, который позволяет динамически добавлять поведение к существующим классам. Это один из структурных шаблонов «Банды четырех».

Подробнее про decorator...

Я хочу выполнить некоторое преобразование функции и вернуть новую функцию. Скажем, например, мне нужна функция translate_arg_of_func(func) такая, что new_func=translate_arg_of_func(func) new_func(4) Возвращает func(4+1). Как бы мне это сделать в питоне? (Я не хочу, чтобы translate_arg_of_func пер....
20 Фев 2021 в 13:40
В чем разница между @dataclass(frozen=True) и @dataclass(frozen=False)? Когда я должен использовать что?....
14 Фев 2021 в 14:11
У меня есть класс Elevator, который содержит базовую информацию о самом лифте. Как здесь: @Builder @Getter @Setter public class Elevator { private final int id; private final float maxSpeed; private final float maxLiftingCapacity; private float currentSpeed; private float currentConditionFactor; p....
Я хотел бы изменить импортированную функцию в python, но понятия не имею, с чего начать и как это сделать .. Я видел декораторы и хуки раньше, но не уверен, что это правильный способ решения проблемы. В основном я хочу изменить следующую функцию: def load_coco_json(json_file, image_root, dataset_nam....
5 Фев 2021 в 15:53
Ошибка проблема "создано имя словаря user2, но при запуске программы произошла ошибка. Эта программа аутентифицирует сообщение, которое было доставлено пользователю". Код приведен ниже. user2 = { 'name':'parth', 'valid':True } def authentication(func): def wrap(*args, **kwargs): ....
25 Янв 2021 в 17:10
Я могу установить версию по cache.set: cache.set(key, value, timeout=60, version=1) Но как установить Cache_page Decorator? Любить: @cache_page(60, version=1) def view(request): ....
18 Янв 2021 в 16:53
У меня есть класс с несколькими методами, которые требуют наличия определенного аргумента, но по разным причинам. Обычно аргумент прикрепляется к экземпляру как атрибут, и в этом случае .......
15 Янв 2021 в 02:49
Итак, я пишу библиотеку для тестов appium. У меня есть основной класс, который выглядит так: class APP(): def __init__(self): self.variable1 = 1 self.current_view = "main_screen" def do_operation_A(self): self.open_side_menu() do_something self.curre....
6 Янв 2021 в 18:04
Предположим, декоратор изменяет поведение функции to_lower(): def transition(fn): def to_upper(text: str): print('the original behavior:' + fn(text)) return text.upper() def to_capital(text: str): print('the original behavior:' + fn(text)) return text.cap....
5 Янв 2021 в 12:15
Я создал одноэлементный (абстрактный) класс, который требует инициализации некоторых данных перед использованием большинства методов. Это пример того, как выглядит класс: abstract class MyClass { private static initialize(): void { // do stuff } public static doStuff1(param1: string): st....
3 Янв 2021 в 21:28
Я всегда просматриваю файлы каталога для выполнения различных операций с данными. Таким образом, я всегда использую следующий код for subdir, dirs, files in os.walk(dir_): for file_name in files: # manipulations here Вместо того, чтобы продолжать писать эти строки кода для каждой функц....
18 Дек 2020 в 10:32
Я знаю, что Python поддерживает объектно-ориентированную структуру, в которой используется точечная нотация. Однако меня смущает приведенный ниже код, где точечная нотация появляется в определении функции без определенного класса. Это какая-то особенность, определенная как атрибуты функции [я дума....
21 Ноя 2020 в 21:15
Я работаю над решением, в котором я реализовал схему цепочки ответственности. Все обработчики в цепочке работают независимо, и в некоторых случаях в зависимости от ввода цепочка прерывается обработчиком, поскольку нет необходимости продолжать работу со следующим обработчиком. Это работало, пока не....
Я не понимаю, почему мы делаем это args [0] ["valid"] вместо просто args ["valid"] user1 = { 'name': 'Sorna', 'valid': True } def authenticated(fn): def wrapper(*args, **kwargs): if args[0]['valid']== True: #if args['valid']== True: return fn(*args, **kwargs) return wrapper....
13 Ноя 2020 в 15:22
Я ищу сокращение для добавления в классы декораторов общих свойств. class Animal: def __init__(self): self._attributes = {} class Dog(Animal): @property def color(self): return super()._attributes.get('color', None) @color.setter def color(self, value): ....
13 Ноя 2020 в 05:47
Я хочу проверить, правильно ли пользователь инициализировал следующий тестовый класс с помощью декораторов. Я впервые использую декораторы, поэтому немного не уверен в них. Критерием проверки является то, что все целые числа должны быть меньше 11, но могут быть некоторые строки или другие аргумент....
9 Ноя 2020 в 14:45
Я создаю приложение kivy, которое выполняет запросы API. Функция get_token() запускается первой при запуске приложения для получения всей необходимой информации, dicts, vars и т. Д. После истечения 30-минутного срока действия токена в приложении есть кнопки, которые on_press будут отправлять запросы....
13 Окт 2020 в 22:44
Примере: class Parent { parentMethod() { // ... } } @Hooks({ // Only methods from the `Child` class (including inherited methods) must be allowed here childMethod: [/* ... */], parentMethod: [/* ... */] }) class Child extends Parent { childMethod() { // ... } } Декоратор @Hoo....
9 Окт 2020 в 23:19
Я хочу добавить функции в словарь, который хранится в объекте с помощью декораторов. Я создал класс и добавил функцию под названием «добавить». Функция принимает ключ и функцию. Я хочу, чтобы, когда я вызываю функцию «добавить», функция, которую я определяю ниже, добавлялась в мой словарь с задан....
18 Сен 2020 в 12:52
TL ; DR Как сгруппировать декораторы (из библиотеки) в один декоратор многократного использования Проблема Каждый раз, когда мой REST API получает запрос, он проверяет предоставленные свойства тела (с использованием библиотеки class-validator). Каждый маршрут имеет свой собственный выделенный кл....
10 Сен 2020 в 22:04
Я хочу создать класс для наследования в другом месте и использовать декоратор для хранения определенных методов в атрибуте. Я попробовал следующий декоратор def filtermethod(f): def wrapped(self, *args, **kwargs): self.methods.append(f) return f(self, *args, **kwargs) return ....
1 Сен 2020 в 18:05
Я пытаюсь рассчитать поле скидки в строке заказа на продажу, и этот метод хорошо работал в odoo 12, но в odoo 13 я получаю эту ошибку каждый раз, когда пытаюсь добавить строку sale.order.line (,). Discount_mount Вот что я сделал class discount_cycle(models.Model): _inherit = 'sale.order.line' disco....
24 Авг 2020 в 13:55
Если бы я однажды использовал декоратор для своей функции, как я мог бы запустить эту функцию самостоятельно, не будучи встроенным в функциональность декоратора? Например, у меня есть функция printArg, которая печатает аргумент. Для удобства мне нужно было "смешать" с datetime.now(). Для этого я нап....
20 Авг 2020 в 22:45
Я получаю данные из API, и одно из полей возвращаемого им объекта - @timestamp. Когда я пытаюсь проанализировать эти данные, например item.@timestamp, javascript выдает ошибку, потому что символ @ зарезервирован как декоратор. Как я могу получить данные из поля, в котором используется зарезервирован....
Я проходил обучение по шаблонам дизайна и наткнулся на шаблоны декораторов. Я получил представление о том, как и когда используется шаблон декоратора, однако я немного смущен тем, почему декоратор должен быть получен из компонента. Пример, который я видел, был примерно таким: //Component classes pub....
4 Авг 2020 в 21:04