.. -*- coding: utf-8 -*- name 属性について ----------------- PySIMPLE では,宣言時に name 属性を与えない :doc:`set`, `element`, `parameter`, `variable` の name 属性を自動判別します. 判別に失敗した場合クラス名となります.:: i = Element(value=[1,2]) x = Variable(index=i) print(x) print(Variable(index=i)) この出力は次のようになります.:: x: x[1] x[2] Variable: Variable[1] Variable[2] また,インタプリタでは必ず判別に失敗しますので name 属性を与えた方が良いでしょう.:: >>> i = Element(value=[1,2]) >>> x = Variable(index=i) >>> x Variable: Variable[1] Variable[2] >>> y = Variable(index=i, name='y') >>> y y: y[1] y[2] `expression`, `constraint` などの name 属性は構成要素から自動で与えられます. 明示的に与える場合は name 属性を変更します.:: i = Element(value=[1, 2]) a = Parameter(index=i, value=3) x = Variable(index=i) ax = a[i] + x[i] print(ax) ax.name = 'ax' print(ax) 出力:: (a[i]+x[i]): x[1]+3 x[2]+3 ax: x[1]+3 x[2]+3