擅长:python、mysql、java
<p>您可以使用<a href="https://docs.python.org/2/library/dis.html" rel="nofollow noreferrer">^{<cd1>}</a>模块来反汇编函数字节码。您将看到不同之处:</p>
<pre><code>>>> import dis
>>> def isBracket(s):
... t = ('a','b','c','d')
... return s in t
...
>>> dis.dis(isBracket)
2 0 LOAD_CONST 5 (('a', 'b', 'c', 'd'))
3 STORE_FAST 1 (t)
3 6 LOAD_FAST 0 (s)
9 LOAD_FAST 1 (t)
12 COMPARE_OP 6 (in)
15 RETURN_VALUE
>>> t = ('a','b','c','d')
>>> def isBracket(s):
... return s in t
...
>>> dis.dis(isBracket)
2 0 LOAD_FAST 0 (s)
3 LOAD_GLOBAL 0 (t)
6 COMPARE_OP 6 (in)
9 RETURN_VALUE
</code></pre>
<p>您可以看到第二个版本的改进:不必每次调用都加载和存储<code>tuple</code>。你知道吗</p>