


Bagaimana untuk menggunakan kaedah __init__() fungsi super() dalam Python?
Apakah kegunaan super().__ init__ ()?
super().__init__() 、 super(B,self).__init__()
1. Fahami super() dan __ init __() masing-masing
1.1, super()
1.2, __init__ ()
__init__() ialah pembina dalam python, yang "dipanggil secara automatik" semasa mencipta objek.
需要注意的是python2、3的super写法稍有不同。
1.3, super() __ init __()
Jika kedua-dua subkelas B dan kelas induk A mempunyai kaedah init,
Kemudian Kaedah init A akan ditimpa oleh B. Jika anda ingin memanggil kaedah init A, anda perlu menggunakan super untuk memanggilnya.
Sudah tentu, di dalam B, selain menggunakan super untuk memanggil kaedah kelas induk, anda juga boleh menggunakan nama kelas induk untuk memanggilnya, contohnya:
定义类时可以不写init方法,系统会默认创建, 你也可以写一个,让你的类在创建时完成一些“动作”。
1.3.1 , Soalan tentang "liputan"
Sesetengah orang mungkin salah faham dengan maksud "liputan" dan menganggap "liputan" bermaksud tiada apa-apa sebab ia masih boleh dipanggil melalui hebat?
Ditimpa tidak bermakna kaedah A masih ada, tetapi ia perlu dipanggil dengan super dalam B.
class B(A): def __init__(self): A.__init__(self) print("B init")
例: A里写了一个方法hi(), B继承自A, B里也写了一个方法hi()。 B的对象在外部调用hi(), 就只能调用B里面写的这个hi()。 想通过B调用A的hi(),只能在B内部用super().hi()调用。
2. Perbezaan antara super() dalam python2 dan 3
Perbezaan antara Python3.x dan Python2.x: Python 3 boleh menggunakan super().xxx secara langsung dan bukannya super( Kelas, diri).xxx :
Contoh:
python3 boleh ditulis terus sebagai: super().__init__()
python2 mesti ditulis sebagai: super(nama kelas, diri ).__init__( )
Contoh Python3.x:
class A: def hi(self): print("A hi") class B(A): def hello(self): print("B hello") b = B() b.hi() # B里没有写hi(),这里调用的是继承自A的hi() ------------------------------------------------------------------ class A: def hi(self): print("A hi") class B(A): def hi(self): print("B hi") b = B() b.hi() # 这里调用的就是B自己的hi() ------------------------------------------------------------------ class A: def hi(self): print("A hi") class B(A): def hi(self): super().hi() # 通过super调用父类A的hi() print("B hi") b = B() b.hi() # 这里调用的就是B里面的hi()
Contoh Python2.x:
class A: def add(self, x): y = x+1 print(y) class B(A): def add(self, x): super().add(x) b = B() b.add(2) # 3
3 Berkenaan susunan warisan
The lapisan bawah: tulis dahulu A kelas induk A
#!/usr/bin/python # -*- coding: UTF-8 -*- class A(object): # Python2.x 记得继承 object def add(self, x): y = x+1 print(y) class B(A): def add(self, x): super(B, self).add(x) b = B() b.add(2) # 3
Tahap kedua: Biarkan B, C, D mewarisi daripada A
class A: def __init__(self): print('A')
Tahap ketiga: E, F, G mewarisi
rreeeSila lihat Urutan pewarisan G
Kami mendapati G mewarisi daripada E, dan F adalah selari, dan E tidak akan dimulakan dahulu semasa pemulaan Hanya mulakan F.
4. Bandingkan super (python3) daripada berbilang kejadian
Berikut ialah tiga pewarisan dan panggilan yang berbeza dan fahami tujuan super().__init__() .
4.1. Contoh
子类名称 | 继承内容 |
---|---|
Puple | 继承所有 |
Puple_Init | 继承,但覆盖了init方法 |
Puple_Super | 继承,但覆盖了init方法,并在init里面添加了super().__init__() |
4.2. Hasil larian dan perbandingan
4.3. Kod lengkap
Atas ialah kandungan terperinci Bagaimana untuk menggunakan kaedah __init__() fungsi super() dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Arraysinpython, terutamanya yang, arecrucialinscientificificputingputingfortheirefficiencyandversatility.1) mereka yang digunakan untuk

Anda boleh menguruskan versi python yang berbeza dengan menggunakan Pyenv, Venv dan Anaconda. 1) Gunakan pyenv untuk menguruskan pelbagai versi python: Pasang pyenv, tetapkan versi global dan tempatan. 2) Gunakan VENV untuk mewujudkan persekitaran maya untuk mengasingkan kebergantungan projek. 3) Gunakan Anaconda untuk menguruskan versi python dalam projek sains data anda. 4) Simpan sistem python untuk tugas peringkat sistem. Melalui alat dan strategi ini, anda dapat menguruskan versi Python yang berbeza untuk memastikan projek yang lancar.

Numpyarrayshaveseveraladvantagesoverstanderardpythonarrays: 1) thearemuchfasterduetoc-assedimplementation, 2) thearemorememory-efficient, antyedlargedataSets, and3) theyofferoptimized, vectorizedfuncionsformathhematicalicalicalicialisation

Kesan homogenitas tatasusunan pada prestasi adalah dwi: 1) homogenitas membolehkan pengkompil untuk mengoptimumkan akses memori dan meningkatkan prestasi; 2) tetapi mengehadkan kepelbagaian jenis, yang boleh menyebabkan ketidakcekapan. Singkatnya, memilih struktur data yang betul adalah penting.

ToCraftExecutablePythonscripts, ikutiTheseBestPractics: 1) addAshebangline (#!/Usr/bin/envpython3) tomakethescriptexecutable.2) setpermissionswithchmod xyour_script.py.3)

Numpyarraysarebetterfornumericationsoperationsandmulti-dimensialdata, whiletheArrayModuleissuitiableforbasic, ingatan-efisienArrays.1) numpyexcelsinperformanceandfunctionalityforlargedatasetsandcomplexoperations.2) thearrayModeMoremoremory-efficientModeMoremoremoremory-efficientModeMoremoremoremory-efficenceismemoremoremoremoremoremoremoremory-efficenceismemoremoremoremoremorem

NumpyarraysareBetterforheavynumericalcomputing, whilethearraymoduleismoresuitifFormemory-constrainedprojectswithsimpledatypes.1) numpyarraysofferversativilityandperformanceForlargedATAsetSandcomplexoperations.2)

ctypesallowscreatingandmanipulatingc-stylearraysinpython.1) usectypestointerwithclibrariesforperformance.2) createec-stylearraysfornumericalcomputations.3) Passarraystocfuntionsforficientsoperations.however, becautiousofmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmem


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

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).

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

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