Я работаю с кодом, которые имеют эту Внешность:Создание словаря Динамично и автоматически назначать атрибуты из оценок функций
module.py:
def attribute3():
return "something3"
def attribute2():
return "something2"
def attribute1():
return "something1"
главный .py:
from module import attribute1, attribute2, attribute3
def main():
return {
"attribute1": attribute1(),
"attribute2": attribute2(),
"attribute3": attribute3()
}
print main()
И я хотел бы знать, есть ли лучший способ создать словарь в функции main
, w без необходимости делать "attribute: function()"
. Мне кажется, что я повторяю себя.
У меня нет доступа к модулю.py, поэтому я не могу перейти в класс.
Я использую Python 2.5, потому что это устаревшее программное обеспечение.
Спасибо.
У меня всего 2,7, но в этой версии ваш код работает отлично. Есть ли проблема, характерная для 2.5? – 098799
Nop .. Я просто чувствую, что я отбиваю себя, делая 'attribute: function()', я хотел бы знать, есть ли более сжатый способ сделать это. – user98293989823
'Защита основного(): д = {} для я в диапазоне (1,4): имени = "атрибут" ул (я) + имя2 = имя + "()" д [имя] = Eval (name2) return d' Это работает, но я не уверен, насколько это обобщается для вас, для конкретных имен функций и для того, чтобы сделать это так ... (извините за отсутствие разрывов строк) – 098799