吴遵祥 發表於 2019-9-14 13:35:00

python object类

<h1 id="object类">object类</h1>
<p>object是python的默认类,有很多的方法,python种默认的list,str,dict等等都是继承了object类的方法</p>
<p>继承了object的类属于新式类 ,没有继承属于经典类</p>
<p>在python3种默认都是新式类,也即是所有的自定义类,基类都会继承object类</p>
<h2 id="描述">描述</h2>
<blockquote>
<p>在python3.x的所有类都是object的子类</p>
<p>所以对于一些内置的方法会写在object类中</p>
<p>如果子类不定义,在调用的时候最终会调用object类中的方法</p>
<p>就不会让程序出现不必要的错误了</p>
<p>__init__方法就是其中的一个例子</p>
<p>所有继承了object类的类 ---- 新式类</p>
<p>在python2中 不继承object类的都是 经典类</p>
</blockquote>
<h2 id="格式">格式</h2>
<pre><code class="language-python">class A(object):
    pass    # 新式类

class A:
    pass   # 经典类 :在多继承中遵循深度优先
         # 经典类中没有super和mro方法
</code></pre>
<h2 id="总结">总结</h2>
<blockquote>
<p>所有的py3中 的类都继承object 是新式类</p>
<p>在继承中 遵循 广度优先的 C3算法</p>
<p>也可以使用mro来查看继承顺序</p>
<p>super这个方法 可以帮助我们查找到mro顺序中的下一个类</p>
</blockquote><br><br>
来源:https://www.cnblogs.com/Hybb/p/11518961.html
頁: [1]
查看完整版本: python object类