擅长:python、mysql、java
<p>首先,不要这样做:</p>
<pre class="lang-py prettyprint-override"><code>if something == True:
pass
elif something == False:
pass
</code></pre>
<p>您可以这样做:</p>
<pre class="lang-py prettyprint-override"><code>if something:
pass
else:
pass
</code></pre>
<p>您可以将<code>stringSpecial</code>和<code>stringNumbers</code>初始化为空字符串以省略<code>else</code>块:</p>
<pre class="lang-py prettyprint-override"><code>stringNumbers = ''
stringSpecial = ''
if self.numbers:
stringNumbers = string.digits
if self.specialChars:
stringSpecial = string.punctuation
</code></pre>
<p>您还可以使用<code>dict</code>删除第一个<code>if-elif</code>块,如下所示:</p>
<pre class="lang-py prettyprint-override"><code>methods = {
'upper': string.ascii_uppercase,
'lower': string.ascii_lowercase,
'both': string.ascii_letters
}
stringMethod = methods[self.string_method]
</code></pre>