Форум сайта python.su
![[RSS Feed] [RSS Feed]](/static/djangobb_forum/img/feed-icon-small.png) 
			 
							 0
  0   
								
								Доброго времени всем. Собственно, ситуация. Есть класс. В классе множество методов, (маленькие чекеры), все они принимают одинаковые аргументы. Можно ли как нить, сделать так, что бы цикл for проходился по всем этим методам(то есть вызывал их по очередности)?
Офлайн
 
							 253
  253   
								
								Mr.AndersonДа
Можно ли как нить, сделать так, что бы цикл for проходился по всем этим методам
Офлайн
 
							 
							
						 16
  16   
								
								Офлайн
 
							 
							
						 186
  186   
								
								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>
Офлайн
 
							 0
  0   
								
								RodegastВот только почему то не выполняются сам функции.
Stright Не нужен ни какой инспектор!
class A(object): def check1(self): print('1') def check2(self): print('2') def check3(self): print('3')
Офлайн
 
							 88
  88   
								
								Mr.Anderson
Вот только почему то не выполняются сам функции.
print attr
Офлайн
 
							 0
  0   
								
								ShamanПонятно, что нет.
Офлайн
 
							 
							
						 186
  186   
								
								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)
Офлайн
 
							 0
  0   
								
								RodegastСпасибо за помощь. Я был близок)
1) Не функции, а методы.2) Я то думал что ты сам догадаешься
Офлайн
![[RSS Feed] [RSS Feed]](/static/djangobb_forum/img/feed-icon-small.png)