Уведомления

Группа в Telegram: @pythonsu

#1 Май 5, 2017 03:29:43

Mr.Anderson
Зарегистрирован: 2015-02-06
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Можно ли пройтись циклом по методам класса

Доброго времени всем. Собственно, ситуация. Есть класс. В классе множество методов, (маленькие чекеры), все они принимают одинаковые аргументы. Можно ли как нить, сделать так, что бы цикл for проходился по всем этим методам(то есть вызывал их по очередности)?

Офлайн

#2 Май 5, 2017 08:02:19

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Можно ли пройтись циклом по методам класса

Mr.Anderson
Можно ли как нить, сделать так, что бы цикл for проходился по всем этим методам
Да



Офлайн

#3 Май 5, 2017 08:20:53

Stright
От: Кострома
Зарегистрирован: 2015-01-20
Сообщения: 139
Репутация: +  16  -
Профиль   Отправить e-mail  

Можно ли пройтись циклом по методам класса

Офлайн

#4 Май 5, 2017 10:54:02

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

Можно ли пройтись циклом по методам класса

Stright Не нужен ни какой инспектор!

 >>> class A(object):
...     def metod1(self):
...         pass
...     def metod2(self):
...         pass
 
>>> for attr in ( getattr(A, x) for x in dir(A) if not x.find("_") == 0 ):
...     print attr
 
<unbound method A.metod1>
<unbound method A.metod2>



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

#5 Май 7, 2017 07:06:11

Mr.Anderson
Зарегистрирован: 2015-02-06
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Можно ли пройтись циклом по методам класса

Rodegast
Stright Не нужен ни какой инспектор!
Вот только почему то не выполняются сам функции.
 class A(object):
    def check1(self):
        print('1')
    def check2(self):
        print('2')
    def check3(self):
        print('3')
Не печатаются цифры.

Офлайн

#6 Май 7, 2017 11:18:39

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Можно ли пройтись циклом по методам класса

Mr.Anderson
Вот только почему то не выполняются сам функции.
 print attr
разве выполняет функцию?

Офлайн

#7 Май 7, 2017 11:35:50

Mr.Anderson
Зарегистрирован: 2015-02-06
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Можно ли пройтись циклом по методам класса

Shaman
Понятно, что нет.
Но как сделать, что бы выполнялась?
Понимаю, возможно туплю дико, но все же.

Офлайн

#8 Май 7, 2017 12:03:03

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

Можно ли пройтись циклом по методам класса

1) Не функции, а методы.
2) Я то думал что ты сам догадаешься

 >>> class A(object):
...     def metod1(self):
...         print 1
...     def metod2(self):
...         print 2
 
>>> obj = A()
>>> for attr in ( getattr(obj, x) for x in dir(obj) if not x.find("_") == 0 ):
...     attr()
1
2



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Май 7, 2017 12:06:12)

Онлайн

#9 Май 7, 2017 13:28:48

Mr.Anderson
Зарегистрирован: 2015-02-06
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Можно ли пройтись циклом по методам класса

Rodegast
1) Не функции, а методы.2) Я то думал что ты сам догадаешься
Спасибо за помощь. Я был близок)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version