【发布时间】:2017-04-18 17:05:24
【问题描述】:
如果我有不同的函数,名称中的数字越来越多,我该如何循环遍历它们?例如:
def Func1():
something something
def Func2():
something something
def Func3():
something something
...
def Func456832():
something something
def Func456833():
something something
我怎样才能用a循环遍历它们:
for i in range(1,456833):
本质上是这个问题: How do I loop through functions with a for loop?
编辑:因为很多人问,这是我真正的代码:
def write(self):
with open('distances.txt', 'a') as file:
file.write('\n'+str(self.distance1))
file.write('\n'+str(self.distance2))
file.write('\n'+str(self.distance3))
file.write('\n'+str(self.distance4))
file.write('\n'+str(self.distance5))
file.write('\n'+str(self.distance6))
file.write('\n'+str(self.distance7))
file.write('\n'+str(self.distance8))
file.write('\n'+str(self.distance9))
file.write('\n'+str(self.distance10))
file.write('\n'+str(self.distance11))
file.write('\n'+str(self.distance12))
file.write('\n'+str(self.distance13))
file.write('\n'+str(self.distance14))
file.write('\n'+str(self.distance15))
我意识到这是一种非常糟糕的完成方式,特别是如果我想继续扩大列表。所以我去寻找答案,这似乎是我需要知道的才能解决它。
Edit2:我从哪里获得 self.distanceX:
class NeuralNetwork():
def __init__(self, inputs, hidden1, hidden2, hidden3, outputs, alpha,it_1,it_2,it_3,it_4,it_5):
....
self.distance1 = [alpha,hidden1,it_1,'train',0,0,0,0,0]
self.distance2 = [alpha,hidden1,it_1,'test',0,0,0,0,0]
self.distance3 = [alpha,hidden1,it_1,'dist',0,0,0,0,0]
self.distance4 = [alpha,hidden1,it_2,'train',0,0,0,0,0]
self.distance5 = [alpha,hidden1,it_2,'test',0,0,0,0,0]
self.distance6 = [alpha,hidden1,it_2,'dist',0,0,0,0,0]
self.distance7 = [alpha,hidden1,it_3,'train',0,0,0,0,0]
self.distance8 = [alpha,hidden1,it_3,'test',0,0,0,0,0]
self.distance9 = [alpha,hidden1,it_3,'dist',0,0,0,0,0]
self.distance10 = [alpha,hidden1,it_4,'train',0,0,0,0,0]
self.distance11 = [alpha,hidden1,it_4,'test',0,0,0,0,0]
self.distance12 = [alpha,hidden1,it_4,'dist',0,0,0,0,0]
self.distance13 = [alpha,hidden1,it_5,'train',0,0,0,0,0]
self.distance14 = [alpha,hidden1,it_5,'test',0,0,0,0,0]
self.distance15 = [alpha,hidden1,it_5,'dist',0,0,0,0,0]
编辑:已解决。谢谢大家:)
【问题讨论】:
-
你有什么理由(似乎)有 456833 个函数而不是一个带有额外参数的函数?
-
这对我来说就像XY problem。你这样做是为了达到什么目的?
-
您要求的是帮助实施一个非常糟糕的做法。你想解决什么问题?
-
@TemporalWolf - 这取决于...
unittest通过查找具有设定模式的类和方法并运行它们来运行测试。我对远程传感器类型做了一些类似的事情(例如,添加一个了解出口温度的函数,框架会自动调用它)。 456833 个?不过,这是很多打字! -
@tdelaney 每个规则都有例外,但在一般情况下,如果您尝试创建和调用 半百万 函数,您可能正在这样做错了。