Форум сайта python.su
							
  -1  
								
								Есть имя модуля в переменной и имя класса внутри модуля переменной.
Нужно создать инстанс этого класса, делаю так:
cls = "MyClass"
file = "filename"
m =__import__("folder."+file)
m = getattr(m,file)
c = getattr(m,cls)
i = c()
Офлайн
							
  72  
								
								Ну можно в строчку записать, а смысл?
cls = "MyClass"
file = "filename"
i =getattr(m,getattr(__import__("folder.%s" % file), file), cls)()
Офлайн
							
  -1  
								
								PooHдействительно), поэтому я имел ввиду именно другой способ а не форматирование)
Ну можно в строчку записать, а смысл?
Офлайн
							
  14  
								
								cls = "MyClass"
file = "filename"
m =__import__("folder."+file, {}, {}, [cls])
cls = getattr(m, cls)
Офлайн
							
  72  
								
								EvgДык вот я смысла то и не пойму. Что значит более короткий вариант? у вас несколько тысяч в минуту импортируется? или запись длинная - плохо читается? так в функцию ее упрятать. Ну вот убейте, не пойму проблемы :( В чем смысл оптимизации сего куска?PooHдействительно), поэтому я имел ввиду именно другой способ а не форматирование)
Ну можно в строчку записать, а смысл?
Офлайн
							
  -1  
								
								PooHНу вот например он 1 постом выше вашего) значит что в нем меньше кода, а смысл в чисто психологическом восприятии и только)
Дык вот я смысла то и не пойму. Что значит более короткий вариант?
PooHНу перед тем как прятать лучше узнать нет ли чего-нить более короткого по умолчанию, а то так по неопытности столько всего напрятать можно)
запись длинная - плохо читается? так в функцию ее упрятать
Отредактировано (Окт. 15, 2009 18:45:15)
Офлайн
							
  72  
								
								EvgСогласен. Хотя там создаются и тут же исчезают два словаря и список. ;)
Ну вот например он 1 постом выше вашего) значит что в нем меньше кода, а смысл в чисто психологическом восприятии и только)
Офлайн
							
  -1  
								
								PooHЭто скорее забота для интерпретатора как оптимизировать такие вещи, уж лучше беречь свои нервы и время читая меньше символов)
Хотя там создаются и тут же исчезают два словаря и список. wink
Офлайн
							
  1  
								
								Главное не краткость, а читабельность.
Sparse is better than dense.
Readability counts.
Офлайн
							
  -1  
								
								они рядом)
Офлайн