擅长:python、mysql、java
<p><code>if not teststr.isdigit()</code>是真的,因此它需要计算<code>int(teststr)</code>来完成<code>and</code>的需求—因此是异常。你知道吗</p>
<p>不要预先检查数据,而是使用EAFP-并使用以下内容。。。你知道吗</p>
<pre><code>try:
val = int(teststr)
if val != 1:
raise ValueError("wasn't equal to 1")
except (ValueError, TypeError) as e:
pass # wasn't the right format, or not equal to one - so handle
# carry on here...
</code></pre>