擅长:python、mysql、java
<p>Python倾向于“请求原谅比允许更容易”的模式,而不是“三思而后行”。因此,在您的代码中,在尝试提取它的值之前,不要搜索键<em>,只需提取它的值并根据需要(以及在需要的地方)处理余波。你知道吗</p>
<p>*假设您询问如何找到一个键,并返回它的值。你知道吗</p>
<p>EAFP方法:</p>
<pre><code>def some_func(key)
my_dict = {'fruit':'apple', 'vegi':'carrot'}
return my_dict[key] # Raises KeyError if key is not in my_dict
</code></pre>
<p>如果你要做的是LBYP,试试这个:</p>
<pre><code>def some_func(key):
my_dict = {'fruit':'apple', 'vegi':'carrot'}
if not key in my_dict:
raise SomeException('my useful exceptions message')
else:
return my_dict[key]
</code></pre>
<p>LBYP方法的最大问题是它引入了一个竞争条件;“key”可能存在,也可能不存在,在检查它,然后返回它的值之间(只有在执行当前工作时才可能存在)。你知道吗</p>