我编写了一些 python 代码来废弃网站的排名数据。我有几页要检查哪些在不同时期(1、2、5 和 10 年)是相同的,在我的代码末尾,我用 if 名称调用了每个函数。
起初我有这个:
scrapBase1(year)
scrapBase2(year)
scrapBase5(year)
scrapBase10(year)
scrapBaseLong1(year)
scrapBaseLong2(year)
scrapBaseLong5(year)
scrapBaseLong10(year)
我对整体代码以及调用这些函数的方式进行了一些更改:
for duration in [1, 2, 5, 10]:
scrapBase(year, duration)
for duration in [1, 2, 5, 10]:
scrapLong(year, duration)
代码现在更好了,但速度也慢了很多,这不是什么大问题,但我想知道这种新的调用方式是否有什么区别?(这是进行调用的最佳方式吗?)是否有可能解释为什么 for 循环比逐一调用函数更快或更慢?
通过网络传输数据比简单的CPU计算慢得多。在您的情况下循环调用函数不是问题,您的代码中还有其他一些问题。