擅长:python、mysql、java
<p>Python是动态类型化的:名称指的是对象,不涉及任何类型概念。你只是</p>
<pre><code>>>> class Account: pass
...
>>> class SavingsAccount(Account): pass
...
>>> obj = SavingsAccount()
</code></pre>
<p>每个对象存储对其自身类型的引用</p>
<pre><code>>>> type(obj)
<class '__main__.SavingsAccount'>
</code></pre>
<p>每个类型都有一个对其方法解析顺序(MRO)的引用</p>
<pre><code>>>> type(obj).__mro__
(<class '__main__.SavingsAccount'>, <class '__main__.Account'>, <class 'object'>)
</code></pre>
<p>实例属性不是根据“定义”它们的类来“划分”的;每个属性只存在于实例本身上,不引用任何特定的类</p>
<p>方法只存在于类本身中;当调用<code>obj.foo()</code>时,MRO用于确定使用了谁的定义</p>