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>
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>
Dalam contoh ini, introduce
adalah kaedah yang mengembalikan rentetan yang memperkenalkan orang itu.
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>
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>
Dalam contoh ini, species
adalah atribut kelas yang dikongsi di semua contoh kelas Person
.
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>
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.
Kaedah menganjurkan dalam kelas python dengan berkesan adalah penting untuk kebolehbacaan dan kebolehkerjaan. Berikut adalah beberapa amalan terbaik:
calculate
, update
, fetch
) dan menjadi spesifik mengenai kaedah yang dilakukannya.Perintah Kaedah :
__init__
, __str__
, __repr__
, dll._
) yang dimaksudkan untuk kegunaan dalaman dalam kelas atau subkelasnya.__
) yang bertujuan untuk digunakan hanya dalam kelas.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>
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!