powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [python] Динамически декорировать метод класса или экземпляра
5 сообщений из 5, страница 1 из 1
[python] Динамически декорировать метод класса или экземпляра
    #37343169
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли в Python "подмешать" декоратор к методу класса или экземпляра динамически элегантнее чем:
Код: plaintext
1.
2.
3.
4.
5.
6.
import class
old = class.method
def method_new(self):
  dosmth1()
  old()
  dosmth2()
class.method = method_new
?

Можно ли реализовать нечто вроде
Код: plaintext
1.
2.
3.
4.
5.
import class
@decorator
def class.method(self):
  dosmth1()
  __decorated__()
  dosmth2()
?
...
Рейтинг: 0 / 0
[python] Динамически декорировать метод класса или экземпляра
    #37741306
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nym,

можно так
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
def new_decorator(method_to_decorate):
	def wrapper(self):
		print("stmt before method_to_decorate")
		method_to_decorate(self)
		print("stmt after method_to_decorate")
	return wrapper

class old_class:
	@new_decorator
	def old_method(self):
		print("Call old_method")

o = old_class()
o.old_method()
...
Рейтинг: 0 / 0
[python] Динамически декорировать метод класса или экземпляра
    #37741591
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nymМожно ли в Python "подмешать" декоратор к методу класса или экземпляра динамически элегантнее чем:
Код: php
1.
2.
3.
4.
5.
6.
7.
import class
old = class.method
def method_new(self):
  dosmth1()
  old()
  dosmth2()
class.method = method_new

?

Можно ли реализовать нечто вроде
Код: php
1.
2.
3.
4.
5.
6.
import class
@decorator
def class.method(self):
  dosmth1()
  __decorated__()
  dosmth2()

?
Нихрена не понятно чего ты сделать то хочешь. Метод задекорировать? Так и кто не даёт?
...
Рейтинг: 0 / 0
[python] Динамически декорировать метод класса или экземпляра
    #37741611
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHookНихрена не понятно чего ты сделать то хочешь. Метод задекорировать? Так и кто не даёт?
ищет более элегантный способ )
...
Рейтинг: 0 / 0
[python] Динамически декорировать метод класса или экземпляра
    #37741648
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r uFishHookНихрена не понятно чего ты сделать то хочешь. Метод задекорировать? Так и кто не даёт?
ищет более элегантный способ )
Ну можно весь класс задекорировать или метакласс написать. Куда уж элегантнее.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [python] Динамически декорировать метод класса или экземпляра
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]