擅长:python、mysql、java
<ol>
<li>主函数只返回一个生成器</li>
</ol>
<pre><code> def main(x):
return range(1,x)
</code></pre>
<p>基本上,生成器不是立即执行的,而是一个具有两个值的迭代器,并且还没有对其求值。所以不管你给<code>x=1</code>、<code>x=100</code>还是<code>x=1000000</code>都没有关系。从性能角度看,它基本上返回一个元组,如</p>
<pre><code>def main(x):
return (1,x)
</code></pre>
<p>这是由于<strong>生成器的性质决定的,如果您对其进行迭代,它将被计算。例如<code>list(range(0, <infity>) )</code>会中断你的记忆,但<code>for i in range(0,<infity>): print(i)</code>只会花费永远的时间来计算</p>
<p>所以<code>range(x, 1000 )</code>只创建了一个对象,而没有对其求值</p>
<ol start=“2”>
<li>请注意,python有一些其他的编码标准,而不是像java或javascript这样的语言,其中<code>timeThem</code>是一个专有名称,但在python中,我们遵循pep8,即应该使用像<code>time_them</code>这样的蛇壳。
就我个人而言,我建议您使用类似<code>time_function</code>的方法来更明确地说明函数应该做什么</李>
</ol>