我有一個函數,它返回兩個列表,符號和數據,其中對應的值具有相同的索引。例如,symbols[i]
給出了變量名稱,data[i]
給出了實際值(int
)。動態創建一個類
我想用這兩個列表來動態創建一個具有以下格式的靜態值類:
class a:
symbols[i] = data[i]
symbols[i+1] = data[i+1]
等等,這樣我以後可以參考這樣的價值觀:
a.symbols[i]
a.symbols[i+1]
其中symbols[i]
和symbols[i+1]
應與希望的變量名來代替,像a.var1
或a.var2
這怎麼可能實現?
編輯:下面
所以我有一個主程序可以說,增加的細節清晰度的main(),它應該在這種風格的list.dat閱讀:
dimension1;0.1
dimension2;0.03
dimension3;0.15
和值分開,符號和數據列表。
所以我不知道這些列表中有多少值。我想動態地創建一個類,以便能夠引用主程序中的值,並將類作爲def sub1(NewClass,argument1,argument2)等參數賦予子函數。在此刻,我正在使用手動創建以下格式的簡單的python列表(list.py):
dimension1 = 0.1
dimension2 = 0.03
dimension3 = 0.15
,然後從列表導入*在主程序並在子功能使用,這將導致SyntaxWarning告訴我,輸入*只允許在模塊級別。所以我真正想要的是處理參數列表並將其轉移到其他功能的智能且一致的方式
我一點也不清楚你在問什麼。您可以動態創建一個類,例如['type('NewClass',(object,),{})'](https://docs.python.org/3/library/functions.html#type),但爲什麼你想要? – jonrsharpe
你不會輕易地提及班級及其成員。你正在對抗語言。你想達到什麼目的? –