考虑同样的循环结构,这两个变种:循环结构最好的办法
x = find_number_of_iterations()
for n in range(x):
# do something in loop
和:
for n in range(find_number_of_iterations()):
# do something
将在第二循环评估每个后续循环运行的方法find_number_of_iterations
,还是会方法find_number_of_iterations
即使在第二个变体中也只能评估一次?
你可以很容易地这个测试自己,而是:无论是方式,该功能只被调用一次。 – jonrsharpe
我该如何测试这个。我的导师批评我的代码在第二个变体中,因为他说它会在每个循环运行中评估 – oat
然后,你会告诉你的导师他们错了!你可以通过传递一个函数来测试它,该函数记录被调用的次数为find_number_of_iterations,然后检查是否为1。 – jonrsharpe