如何通过更改函数内部的一些变量来重复函数? 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]
我是初学者,我想知道是否有某种方法可以使函数重复自身改变某些变量的值...
例如:
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]