擅长:python、mysql、java
<p><a href="https://docs.python.org/3/library/dataclasses.html#dataclasses.is_dataclass" rel="nofollow noreferrer">Docs</a></p>
<pre class="lang-py prettyprint-override"><code>import dataclasses
dataclasses.is_dataclass(something)
</code></pre>
<p>正如@Arne在内部提到的,它只是检查<code>hasattr(something, '__dataclass_fields__')</code>,但我建议不要依赖它:</p>
<ul>
<li>它不是一个公共API:文档中没有提到它。在</li>
<li>这是一个实现细节,因此不能保证在其他python实现中也能工作。但是除了<code>cPython</code>似乎还没有什么东西支持Python3.7。至少Jython、IronPython和pypyy不支持它。在</li>
</ul>
<p>其他所有内容,包括检查dataclass类型和dataclass实例之间的区别,都在<code>is_dataclass</code>方法的文档中</p>