代码之家  ›  专栏  ›  技术社区  ›  Jan Pisl

在Python中迭代参数时如何排除self?

  •  0
  • Jan Pisl  · 技术社区  · 7 年前

    我试图一次绘制多条线(使用pyqtgraph)。为此,我编写了一个方法 陈列 ,具有任意数量的输入参数。我要做的是迭代这些参数(即列表),将它们加载到列表中( x\U轴 )然后从列表上的所有项构造一个图。这是我的代码(部分):

    class array():
        def display(self, *args):       # Display all graphs in one window
            """
                @param *args: numpy arrays
            """
            x_axis = []
            y_axis = np.arange(1000)
            for np_array in args:
                x_axis.append(np_array)
            plotWidget = pg.plot(title="min/max/avg graph")
            for i in x_axis:
                plotWidget.plot(y_axis, x_axis[i], pen=(i,3))
    

    我打电话给 陈列 方法如下:

        array.display(self, min_bucket, max_bucket, avg_bucket)
    

    问题是 自己 参数也作为对象加载。有没有办法排除 自己 从加载到 x\U轴 ?还是有更好的方法?

    我正在使用Python 3.6

    1 回复  |  直到 7 年前
        1
  •  2
  •   Alan Hoover    7 年前

    不通过 self 当您调用该方法时。Python处理传递 自己 在幕后绑定方法。您的产品线:

    array.display(self, min_bucket, max_bucket, avg_bucket)

    应为:

    array.display(min_bucket, max_bucket, avg_bucket)