擅长:python、mysql、java
<p>使用不同的类更像是OOP和python。使用gflags代替gflags仅仅意味着将类型的信息存储在类型中以外的其他地方。你知道吗</p>
<p>现在有趣的部分是使用类型信息,使代码可读、清晰并具有良好的性能。老实说,我会忽略后者而选择好的代码,直到它成为一个问题。你知道吗</p>
<p>由于使用该类型的唯一示例是比较对象是否为同一类型,因此可以很容易地执行以下操作:</p>
<pre><code>type(bread1) == type(bread2)
</code></pre>
<p>您还可以创建方法或重载操作符来对代码的大部分部分隐藏机制,但最简单和最可读的方法在很大程度上取决于您的实际用例。你知道吗</p>
<p>举你在讨论中提到的另一个例子:要比较任何面包是否相等,你可以这样做:</p>
<pre><code>class Bread(Food):
def __eq__(self, other):
return isinstance(other, Bread)
</code></pre>
<p>这样显式地做可以让您拥有子类<code>Baguette(Bread)</code>和<code>Roll(Bread)</code>,它们的实例都是breads,它们与<code>Bread</code>本身的任何实例相比也会相等。你知道吗</p>