Rumah > pembangunan bahagian belakang > Tutorial Python > Kelas Gaya Lama lwn. Gaya Baharu dalam Python: Apakah Perbezaannya?

Kelas Gaya Lama lwn. Gaya Baharu dalam Python: Apakah Perbezaannya?

Susan Sarandon
Lepaskan: 2024-12-18 22:07:10
asal
174 orang telah melayarinya

Old-Style vs. New-Style Classes in Python: What's the Difference?

Kelas Gaya Baharu lwn. Gaya Lama dalam Python

Kelas gaya lama berleluasa dalam Python sehingga versi 2.1, manakala kelas baharu kelas gaya diperkenalkan dengan Python 2.2. Perbezaan utama antara kedua-duanya berkisar pada konsep jenis berbanding kelas.

Kelas Gaya Lama:

Kelas gaya lama tidak dikaitkan secara langsung dengan konsep jenis. Contoh kelas gaya lama semuanya dilaksanakan menggunakan satu jenis terbina dalam yang dikenali sebagai "contoh." Ini bermakna x.__class__ dan type(x) mungkin tidak selalu mengembalikan nilai yang sama untuk contoh kelas gaya lama.

Kelas Gaya Baharu:

Baharu kelas gaya, sebaliknya, menyatukan konsep kelas dan jenis. Kelas gaya baharu mentakrifkan jenis yang ditentukan pengguna, dan contoh kelas gaya baharu dianggap sebagai objek jenis itu. Lazimnya, type(x) dan x.__class__ mengembalikan nilai yang sama untuk contoh kelas gaya baharu, melainkan jika diganti.

Perbezaan Utama dan Faedah Kelas Gaya Baharu:

  • Model objek bersatu dengan model meta penuh.
  • Keupayaan untuk mensubkelaskan kebanyakan jenis terbina dalam.
  • Pengenalan "deskriptor" untuk sifat yang dikira.
  • Tingkah laku yang lebih konsisten dan intuitif dalam senario pewarisan.

Bila Perlu Digunakan Gaya Lama lwn. Gaya Baharu Kelas:

Atas sebab keserasian ke belakang, kelas dalam Python 2.x adalah gaya lama secara lalai. Untuk mencipta kelas gaya baharu, nyatakan kelas gaya baharu secara eksplisit sebagai kelas induk.

Dalam Python 3, semua kelas adalah gaya baharu. Oleh itu, tidak perlu membezakan antara kedua-dua gaya.

Atas ialah kandungan terperinci Kelas Gaya Lama lwn. Gaya Baharu dalam Python: Apakah Perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan