私は FreeCAD で Python を使用しており、使用するオブジェクトにプロパティ (調整可能な変数) を追加しています。
obj.addProperty("App::PropertyFloat","variable","variable label","variable explanation").variable = 2
for ループを使用して、複数の変数名を持つ複数のプロパティを追加したいと考えています。文字列を変数に変換する方法を読みましたが、その変数名にアクセスする方法が見つかりませんでした。私の場合:上記のコードの .variable 位置で使用する方法。
コードがあるとします:
varName = []
for i in range(3):
varName.append('variable%s' %i)
exec("%s = %d" % (varName[i],2))
たとえば、print variable0 を使用して値 2 を取得できることを知っています。どのように variable0 の名前にアクセスして、それを.variableの位置に置くことができますか? 変数のリストまたは辞書の作成について読みましたが、変数の名前ではなく、変数の値にしかアクセスできませんよね?
リストをこのオブジェクトの入力にすることができ、その内容を変数名に割り当てる必要があります。出力は次のようになります (ただし、入力リストの任意の長さに適しています)。
obj.addProperty("App::PropertyFloat","variable0,"variable label","variable explanation").variable0 = input[0]
obj.addProperty("App::PropertyFloat","variable1,"variable label","variable explanation").variable1 = input[1]
etc.