擅长:python、mysql、java
<p>下面的行实际调用每个函数并将结果存储在字典中:</p>
<pre><code>dictionary = { 1: test1(), 2: test2(), 3: test3() }
</code></pre>
<p>这就是为什么会看到三行输出。正在调用每个函数。因为函数没有返回值,所以值<code>None</code>存储在字典中。打印(<code>print(dictionary</code>):</p>
^{pr2}$
<p>相反,将函数本身存储在字典中:</p>
<pre><code>dictionary = { 1: test1, 2: test2, 3: test3 }
</code></pre>
<p><code>print(dictionary)</code>的结果:</p>
<pre><code>{1: <function test1 at 0x000000000634D488>, 2: <function test2 at 0x000000000634D510>, 3: <function test3 at 0x000000000634D598>}
</code></pre>
<p>然后使用字典查找来获取函数,然后调用它:</p>
<pre><code>dictionary[2]()
</code></pre>