擅长:python、mysql、java
<p>要检查对象<code>o</code>是否为字符串类型的子类的字符串类型,请执行以下操作:</p>
<pre><code>isinstance(o, basestring)
</code></pre>
<p>因为<code>str</code>和<code>unicode</code>都是<code>basestring</code>的子类。</p>
<p>要检查<code>o</code>的类型是否正是<code>str</code>:</p>
<pre><code>type(o) is str
</code></pre>
<p>检查<code>o</code>是否是<code>str</code>的实例或<code>str</code>的任何子类:</p>
<pre><code>isinstance(o, str)
</code></pre>
<p>如果将<code>str</code>替换为<code>unicode</code>,则上述方法也适用于Unicode字符串。</p>
<p>但是,您可能根本不需要执行显式类型检查。”鸭子打字“可能适合你的需要。见<a href="http://docs.python.org/glossary.html#term-duck-typing" rel="noreferrer">http://docs.python.org/glossary.html#term-duck-typing</a>。</p>
<p>另见<a href="https://stackoverflow.com/questions/152580/whats-the-canonical-way-to-check-for-type-in-python">What’s the canonical way to check for type in python?</a></p>