из произвольной функции при инициализации, и чтобы этот метод вёл себя, как property?
Сижу, играюсь с __get__(), __set_name__(), но никак не могу разобраться...
Задача такая, чтобы можно было сделать так:
def area(self):
return self.a*self.b
class Rect:
...
def __init__(self,a,b,area_func):
...
instance=Rect(2,9,area)
print(instance.area)
И на выходе получаем 18.
https://pastebin.com/1NvUs6rn
Спасибо огромное. Но у меня вопрос, это нормально, что мы храним обычную функцию, а не bound-метод?
Хз зачем тебе вообще это надо
Ну, если коротко — делаю библиотеку GUI. Есть элементы: надписи, кнопки, прогрессбары, списки... При изменении размеров окна элементы также должны подстраиваться под него, менять размеры и положение. Но при этом каждый должен подстраиваться по-своему. Вот я и не придумал ничего лучше, чем генерировать им функции, которые будут рассчитывать их размер и положение в зависимости от размеров и положения родительского элемента, и при этом вели себя, как property, чтобы можно было легко к ним обращаться через ui_element.width, например.
Дык observer же есть или медиатор, шли апдейт какой-то
Обсуждают сегодня