引用python中的两个对象如何将array.x转换为self.array.self.x



我有一个数组,它由我可以调用的一组变量组成。

所以通常我会在导入后使用array.x调用x。现在我已经将它们设置为两个对象,用户可以在traits GUI中设置它们。如何使用"self"提取相同的信息?

self.array.self.variable

我只是得到属性数组没有变量self,因为它试图引用self.array.self而不是self.array.(self.variable(。

修复这将使我能够使用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

edit:我需要通常读作array.data['variable']的东西。要像self.array.data['self.variable'].

如果self.variable是包含属性名称的字符串,则使用getattr:

getattr(self.array, self.variable)

这里不清楚你的意思(至少对我来说(。但基本上,self只是类方法中实例的常规名称。它有本地作用域,所以你不能从外部引用它。它实例,从外部你应该可以简单地执行self.array.variable

但是,您似乎想要索引样式访问?您可以通过定义__getitem__特殊方法来实现这一点。然后你可以做myobj["x"]

相关内容

  • 没有找到相关文章

最新更新