对于许多文章讲解python类的继承,大多数都是说一些什么oop,多态等概念,我认为这样可能对有一定基础的开发者帮助不是那么大,不如直接用在各种情况下所写的代码,来展示对于某一种代码情况,代码运行会有什么效果。这样可能对开发者的帮助更大。不说废话,直接上代码。
这里不区分经典类和新式类,下面分析的对新式类和经典类都适用
对于类中的init函数,只是一个初始化是调用的一个函数(ps:初始化和创建实例并不是一个过程,实例的创建是通过一个create函数来完成的),如果在子类中没有显示的声明init函数,则子类就会调用父类的init函数,但是不会再调用父类的父类中的init函数,如果显示的声明了init 函数,则在子类的初始化的时候就不会调用父类的初始化函数,只会调用子类中声明的init函数, 同时在子类实例中也不会有父类init函数中声明的属性,例子:
class animal(): name="hh" sex="man" def init(self): self.height=10 self.weight=50 def deception(self): print "ansible.height:"+self.height+" animal.weight:"+self.weight def run(self): print "animal is running...."class dog(animal): def init(self): passif name=="main": dg=dog() print dg.dict
此时运行的结果为
{}
当把dog类修改为如下时(ps:此时没有显示的声明init方法):
class dog(animal): def run(self): print "dog is running..."
此时由于直接调用的父类animal的init方法,结果如下:
{'weight': 50, 'height': 10}
如果此时有一个类继承dog类,此时会出现什么情况呢?(python解释器先在子类中寻找init方法,如果没有找到,再从父类中找,直到找到为止,并运行,并且不再运行父类的父类的init方法,此时没有运行的init方法中的创建的属性是没有的,例如上面的例子,第一次运行时得到的例子中并没有weight和height属性)
class animal(): name="hh" sex="" def init(self): self.height=10 self.weight=50 def deception(self): print "ansible.height:"+self.height+" animal.weight:"+self.weight def run(self): print "animal is running...."class dog(animal): def init(self): pass def run(self): print "dog is running..."class jinmao(dog): # def init(self): # self.ji="jinmao" passif name=="main": dg=jinmao() print dg.dict
此时的结果一样是
{}
在类的多继承中会产生什么状况呢?(在多继承中会运行类的继承参数中的第一个参数声明的父类中的init函数,如果父类中没有init函数,继续寻找父类的父类中有没有,以此类推。。。如果找到了头还是没有,则换为第二个参数声明的父类,过程如第一个参数,知道找到init函数为止,如果都没有找到,则不初始化),代码可以根据前面例子自己测试。
Atas ialah kandungan terperinci python类继承讲解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Buat tatasusunan pelbagai dimensi dengan numpy dapat dicapai melalui langkah-langkah berikut: 1) Gunakan fungsi numpy.array () untuk membuat array, seperti Np.Array ([[1,2,3], [4,5,6]]) untuk membuat array 2D; 2) Gunakan np.zeros (), np.ones (), np.random.random () dan fungsi lain untuk membuat array yang diisi dengan nilai tertentu; 3) Memahami sifat bentuk dan saiz array untuk memastikan bahawa panjang sub-array adalah konsisten dan mengelakkan kesilapan; 4) Gunakan fungsi np.reshape () untuk mengubah bentuk array; 5) Perhatikan penggunaan memori untuk memastikan bahawa kod itu jelas dan cekap.

Broadcastinginginnumpyisamethodtoperformoperationsonarraysofdifferentshapesbyautomaticallyaligningthem.itsImplifiescode, enhancesreadability, andboostsperformance.here'showitworks: 1) smallerarraysarepaddedwithonestomatchdimensions.2) CompatibeSt

Forpythondatastorage, chooselistsforflexabilityWithMixedDatatypes, array.arrayformemory-efficienthomogeneousnumericaldata, andnumpyarraysforadvancednumericalcomputing.listsareversatileButlessefficefientfientfientfientfientfientfientfientfientfientfientfientforydodeSforayDataSetSetShiSforayDataSetSetShiSforayDataSetSetShiSforayDataSetSetShoFficeSforaydataSetShoSforayDataSetsforayDataSetsforayDataSetsforaydataSetShiSforayDodeSforayDodeSforaydataSetRaydataSetRaydataSetRaydataSet

Pythonlistsarebetterthanarraysformanagingdiversedatatypes.1) listscanholdelementsofdifferenttypes, 2) thearedynamic, membolehkanEaseasyAdditionsandremoVals, 3) theofferintuitiitiveoperationslikeslicing, tetapi4).

ToAccessElementsInapyThonArray, useIndexing: my_array [2] AccessestHeTheRdeLement, returning3.pythonuseszero-berasaskanIndexing.1) USE sitiveandnegativeindexing: my_list [0] forthefirstelement, my_list [-1] forthelast.2) menggunakanSlicingForarangange: my_list [1: 5] ekstrakSelemen

Artikel membincangkan kemustahilan pemahaman tuple di Python kerana kekaburan sintaks. Alternatif seperti menggunakan tuple () dengan ekspresi penjana dicadangkan untuk mencipta tupel dengan cekap. (159 aksara)

Artikel ini menerangkan modul dan pakej dalam Python, perbezaan, dan penggunaannya. Modul adalah fail tunggal, manakala pakej adalah direktori dengan fail __init__.py, menganjurkan modul yang berkaitan secara hierarki.

Artikel membincangkan docstrings dalam python, penggunaan, dan faedah mereka. Isu Utama: Kepentingan Docstrings untuk Dokumentasi Kod dan Kebolehcapaian.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).
