0

呼び出すことができる一連の変数で構成される配列があります。

したがって、通常は、インポート後に array.x を使用して x を呼び出します。これで、ユーザーが特性 GUI で設定できる 2 つのオブジェクトとしてそれらを設定しました。「self」を使用して同じ情報を抽出するにはどうすればよいですか?

self.array.self.variable

self.array.(self.variable) の代わりに self.array.self を参照しようとしているため、属性配列に変数 'self' がありません。

これを修正すると、Chaco を使用してこれを実行できるようになります。

plotdata = ArrayPlotData(x = self.array.self.variable, y = self.array.self.variable)
plot = Plot(plotdata)
self.renderer = plot.plot(("x", "y"), type="scatter", color="red")[0]
self.plot = plot

編集: 通常は array.data['variable'] として読み取られるものが必要です。self.array.data['self.variable'] のようなものになります。

4

2 に答える 2

1

self.variableが属性の名前を保持する文字列の場合、次を使用しgetattrます。

getattr(self.array, self.variable)
于 2013-01-18T16:55:05.920 に答える
0

ここであなたが何を意味するのかは明確ではありません(少なくとも私には)。しかし、基本的にはself、クラス メソッド内のインスタンスの従来の名前です。ローカル スコープがあるため、外部からそのように参照することはありません。それインスタンスであり、外部から簡単に実行できるはずですself.array.variable

ただし、インデックス スタイルのアクセスが必要なようです。__getitem__特別なメソッドを定義することでそれを行うことができます。その後、行うことができますmyobj["x"]

于 2013-01-18T17:38:00.317 に答える