如何通过更改函数内部的一些变量来重复函数? PYTHON 3.4

How to repeat a function with change some variables inside of the function? PYTHON 3.4

我是初学者,我想知道是否有某种方法可以使函数重复自身改变某些变量的值...

例如:

def example():
    box1.delete(0,END) #Here I would like to change the variable "box1" to "box2" and "box3"
    get1=box1.get() #Here I would like to change the variable "box1" to "box2" and "box3"

嗯,我想就这些了。我希望你能帮助我。谢谢!

通常,您会将 box 作为函数的参数,并使用您要操作的所有框重复调用它:

def example(box):
    box.delete(0, END)
    get = box.get()
    ...

for box in box1, box2, box3, box4:
    example(box)

如果 example 实际上 returns 某些东西(例如 box.get 返回的数据),您可以使用列表理解。

boxes = (box1, box2, box3, box4)
data = [example(box) for box in boxes]

现在 data 是一个列表,其中每个元素来自 boxes

为什么不创建一个框列表而不是为每个框设置单独的变量名称。它使您的代码更易于管理,并且可以更轻松地同时在所有框上执行任务。

例如:

boxes = []

#In your code where you create a box, instead of assigning it to a new variable as:
box12 = Box(...)

#just do
boxes.append(Box(...))

然后您可以通过迭代或通过列表理解轻松地对列表进行操作。

box_vals = [a.get() for a in boxes]