Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana anda menentukan atribut dan kaedah dalam kelas python?

Bagaimana anda menentukan atribut dan kaedah dalam kelas python?

百草
Lepaskan: 2025-03-19 14:11:32
asal
381 orang telah melayarinya

Bagaimana anda menentukan atribut dan kaedah dalam kelas python?

Di Python, kelas ditakrifkan menggunakan kata kunci class diikuti dengan nama kelas. Dalam kelas, anda boleh menentukan kedua -dua atribut dan kaedah.

Atribut adalah pembolehubah yang menyimpan data yang berkaitan dengan contoh kelas. Mereka boleh ditakrifkan secara langsung dalam badan kelas (atribut kelas) atau dalam kaedah seperti kaedah __init__ (atribut contoh). Kaedah __init__ adalah kaedah khas yang dipanggil apabila contoh kelas dibuat. Ia biasanya digunakan untuk memulakan sifat -sifat kelas.

Berikut adalah contoh menentukan atribut dalam kelas:

 <code class="python">class Person: # Class attribute species = "Homo sapiens" # Instance attribute defined in the __init__ method def __init__(self, name, age): self.name = name self.age = age</code>
Salin selepas log masuk

Kaedah adalah fungsi yang ditakrifkan dalam kelas yang menentukan tingkah laku kelas. Mereka boleh mengakses atribut kelas dan melaksanakan operasi pada mereka. Kaedah ditakrifkan sama seperti fungsi biasa, tetapi ia diindentifikasi dalam badan kelas.

Berikut adalah contoh kaedah menentukan dalam kelas:

 <code class="python">class Person: def __init__(self, name, age): self.name = name self.age = age # Method to introduce the person def introduce(self): return f"My name is {self.name} and I am {self.age} years old."</code>
Salin selepas log masuk

Dalam contoh ini, introduce adalah kaedah yang mengembalikan rentetan yang memperkenalkan orang itu.

Apakah perbezaan antara contoh dan atribut kelas dalam Python?

Di Python, terdapat dua jenis atribut yang boleh ditakrifkan dalam kelas: atribut contoh dan atribut kelas.

Atribut contoh khusus untuk setiap contoh kelas. Mereka ditakrifkan di dalam kaedah __init__ atau kaedah lain kelas, menggunakan kata kunci self . Setiap contoh kelas boleh mempunyai nilai yang berbeza untuk atribut contohnya.

Contohnya:

 <code class="python">class Person: def __init__(self, name): self.name = name # Instance attribute person1 = Person("Alice") person2 = Person("Bob") print(person1.name) # Outputs: Alice print(person2.name) # Outputs: Bob</code>
Salin selepas log masuk

Atribut kelas dikongsi di antara semua contoh kelas. Mereka ditakrifkan secara langsung di dalam badan kelas, di luar mana -mana kaedah. Sebarang perubahan kepada atribut kelas mempengaruhi semua contoh kelas.

Contohnya:

 <code class="python">class Person: species = "Homo sapiens" # Class attribute def __init__(self, name): self.name = name person1 = Person("Alice") person2 = Person("Bob") print(person1.species) # Outputs: Homo sapiens print(person2.species) # Outputs: Homo sapiens Person.species = "New Species" print(person1.species) # Outputs: New Species print(person2.species) # Outputs: New Species</code>
Salin selepas log masuk

Dalam contoh ini, species adalah atribut kelas yang dikongsi di semua contoh kelas Person .

Bagaimanakah anda boleh menggunakan warisan untuk menggunakan semula kod dalam kelas python?

Warisan adalah konsep asas dalam pengaturcaraan berorientasikan objek yang membolehkan kelas (dipanggil subclass atau kelas yang diperoleh) untuk mewarisi atribut dan kaedah dari kelas lain (dipanggil kelas superclass atau asas). Ini membolehkan penggunaan semula kod dan penciptaan jenis objek yang lebih spesifik berdasarkan kelas sedia ada.

Untuk menggunakan warisan di Python, anda menentukan superclass dalam kurungan selepas nama kelas dalam definisi subkelas. Inilah contoh:

 <code class="python">class Animal: def __init__(self, species): self.species = species def make_sound(self): pass # This method is intended to be overridden by subclasses class Dog(Animal): def __init__(self, name): super().__init__("Canis familiaris") # Call the __init__ method of the superclass self.name = name def make_sound(self): return "Woof!" class Cat(Animal): def __init__(self, name): super().__init__("Felis catus") # Call the __init__ method of the superclass self.name = name def make_sound(self): return "Meow!"</code>
Salin selepas log masuk

Dalam contoh ini, Dog dan Cat adalah subkelas Animal . Mereka mewarisi sifat species dan boleh mengatasi kaedah make_sound untuk memberikan tingkah laku tertentu.

Anda juga boleh menggunakan warisan untuk mencipta hierarki kelas yang lebih kompleks dan melaksanakan pelbagai warisan, di mana kelas boleh mewarisi dari lebih daripada satu superclass.

Apakah beberapa amalan terbaik untuk menganjurkan kaedah dalam kelas Python?

Kaedah menganjurkan dalam kelas python dengan berkesan adalah penting untuk kebolehbacaan dan kebolehkerjaan. Berikut adalah beberapa amalan terbaik:

  1. Kaedah Berkaitan Kumpulan Bersama : Kaedah yang melaksanakan tugas yang sama atau berkaitan harus dikumpulkan bersama. Sebagai contoh, kaedah yang berkaitan dengan permulaan dan persediaan boleh diletakkan pada permulaan kelas, diikuti dengan kaedah untuk manipulasi data, maka kaedah untuk output dan pelaporan.
  2. Gunakan nama deskriptif : Nama kaedah harus jelas menggambarkan tujuan mereka. Gunakan kata kerja untuk memulakan nama kaedah (misalnya, calculate , update , fetch ) dan menjadi spesifik mengenai kaedah yang dilakukannya.
  3. Perintah Kaedah :

    • Mulakan dengan kaedah khas seperti __init__ , __str__ , __repr__ , dll.
    • Ikuti dengan kaedah awam yang menentukan antara muka utama kelas.
    • Kemudian sertakan kaedah yang dilindungi (yang bermula dengan satu garis bawah _ ) yang dimaksudkan untuk kegunaan dalaman dalam kelas atau subkelasnya.
    • Akhirnya, termasuk kaedah peribadi (yang bermula dengan ganda ganda __ ) yang bertujuan untuk digunakan hanya dalam kelas.
  4. Gunakan DocStrings : Setiap kaedah harus mempunyai dokumen yang menggambarkan tujuannya, parameter, nilai pulangan, dan apa -apa pengecualian yang mungkin ditingkatkan. Ini menjadikan kod lebih mudah difahami dan lebih mudah digunakan.
  5. Kurangkan bilangan kaedah : Cuba simpan kelas yang difokuskan pada satu tanggungjawab. Sekiranya kelas menjadi terlalu kompleks, pertimbangkan untuk memecahkannya ke dalam kelas yang lebih kecil dan lebih mudah diurus.
  6. Gunakan kaedah penolong : Jika kaedah terlalu panjang atau kompleks, pecahkannya ke dalam kaedah penolong yang lebih kecil. Ini meningkatkan kebolehbacaan dan menjadikan kod lebih mudah untuk menguji dan mengekalkan.

Inilah contoh kelas yang teratur:

 <code class="python">class BankAccount: def __init__(self, account_number, balance=0): self.account_number = account_number self.balance = balance def deposit(self, amount): if amount > 0: self.balance = amount return True return False def withdraw(self, amount): if 0  0 def __str__(self): return f"Account {self.account_number}: Balance = ${self.balance}"</code>
Salin selepas log masuk

Dalam contoh ini, kaedah khas datang pertama ( __init__ , __str__ ), diikuti dengan kaedah awam ( deposit , withdraw , get_balance ), dan akhirnya kaedah yang dilindungi ( _validate_transaction ). Setiap kaedah adalah ringkas dan mempunyai tujuan yang jelas.

Atas ialah kandungan terperinci Bagaimana anda menentukan atribut dan kaedah dalam kelas python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan