擅长:python、mysql、java
<p>就像通常的情况一样,我认为派林是错误的。事实并非总是如此。在字节码编译步骤中,只有<em>的元组可以缓存为常量,但情况并非总是如此。简单的考虑:</P>
<pre><code>In [1]: def using_in(a, b, c):
...: 42 in (a,b,c)
...:
In [2]: def using_or(a, b, c):
...: 42 == a or 42 == b or 42 == c
...:
In [3]: %timeit using_in(1,2,3)
125 ns ± 3.82 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
In [4]: %timeit using_or(1,2,3)
119 ns ± 1.96 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
</code></pre>
<p>但更重要的是,这些决策几乎总是关于代码的清晰性或可维护性。性能差异通常可以忽略不计</p>
<p>老实说,如果您编写代码是为了在这个级别上进行优化,那么CPython可能不适合您</p>