擅长:python、mysql、java
<p><code>bar = {'a': self.print1(6), 'b': self.print2(5) }</code>不将函数作为值存储在字典中。在</p>
<p>它调用函数<code>print1</code>和<code>print2</code>,并存储它们的返回值。因为这两个函数都只<code>print</code>,并且不返回任何内容,所以得到了字典<code>{'a': None, 'b': None }</code>,这就是为什么得到<code>NoneType</code>异常的原因。在</p>
<p>相反,您应该:</p>
<p><code>bar = {'a': self.print1, 'b': self.print2 }</code></p>
<p>然后:</p>
<pre><code>bar['b'](5)
>> 5
</code></pre>