擅长:python、mysql、java
<p>如果要检查变量<code>x</code>的类型,可以使用以下命令:</p>
<pre><code>if type(x) is str:
print 'is a string'
</code></pre>
<p>在python中,String和Char将具有相同的类型和相同的输出,这与java等语言不同。在</p>
^{pr2}$
<p><strong>编辑:</strong></p>
<p>正如@Kay建议的那样,您应该使用<code>isinstance(foo, Bar)</code>而不是<code>type(foo) is bar</code>,因为isinstance正在检查继承,而类型没有检查继承。在</p>
<p>有关<code>isinstance</code>与<code>type</code>的更多详细信息,请参见<a href="https://stackoverflow.com/questions/1549801/differences-between-isinstance-and-type-in-python">this</a></p>
<p>使用isinstance还将支持unicode字符串。在</p>
<pre><code>isinstance(u"A", basestring)
>>> true
# Here is an example of why isinstance is better than type
type(u"A") is str
>>> false
type(u"A") is basestring
>>> false
type(u"A") is unicode
>>> true
</code></pre>
<p><strong>编辑2:</strong></p>
<p>使用正则表达式仅验证一个字母</p>
<pre><code>import re
re.match("^[a-zA-Z]$", "a") is not None
>>> True
re.match("^[a-zA-Z]$", "0") is not None
>>> False
</code></pre>