Задать вопрос
gadzhi15
@gadzhi15

Вызов всех методов класса в одну строку. Возможно?

Python 2.7. Имеется класс, с 5 методами и конструктор __init___ . В определенной ситуации нужно вызвать все методы класса. Возможно ли в Python осуществить это в одну строчку?

В Java наподобие этого есть Builder.
  • Вопрос задан
  • 481 просмотр
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@FireGM
Не совсем понимаю зачем, но чтобы вызывать функции в одну строку, достаточно в функции в конце возвращать self.

class S():
    kk = 0
    def m(self):
        kk+=1
        return self
    
    def p(self):
        print(self.kk)
        return self

s = S().m().m().m().p().m().m().p()

выведет "3" и "5"
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
import inspect
for _, m in inspect.getmembers(obj, predicate=inspect.ismethod): m()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
19 февр. 2025, в 21:51
50000 руб./за проект
19 февр. 2025, в 21:33
150000 руб./за проект
19 февр. 2025, в 21:08
30000 руб./за проект