Pembina dalam Python

WBOY
Lepaskan: 2023-09-02 16:29:20
ke hadapan
2210 orang telah melayarinya

Pembina dalam Python

Dalam Python, setiap kelas mempunyai pembina, iaitu kaedah khas yang ditentukan di dalam kelas. Pembina/pemula akan dipanggil secara automatik apabila objek baharu dicipta untuk kelas. Apabila objek dimulakan, pembina memberikan nilai kepada ahli data dalam kelas.

Tidak perlu mentakrifkan pembina secara eksplisit. Tetapi untuk mencipta pembina, kita perlu mengikut peraturan berikut -

  • Untuk kelas, ia hanya membenarkan satu pembina.

  • Nama pembina mestilah __init__.

  • Pembina mesti ditakrifkan menggunakan sifat contoh (hanya nyatakan kata kunci diri sebagai hujah pertama).

  • Ia tidak boleh mengembalikan sebarang nilai kecuali Tiada.

tatabahasa

class A(): 
   def __init__(self):
      pass
Salin selepas log masuk

Contoh

Pertimbangkan contoh di bawah dan fahami cara pembina berfungsi.

class SampleClass():
  def __init__(self):
    print("it a sample class constructor")

# creating an object of the class 
A = SampleClass()
Salin selepas log masuk

Output

it a sample class constructor
Salin selepas log masuk

Dalam blok di atas, objek A dicipta untuk SampleClass(), dan untuk contoh ini, kaedah __init__(self) dilaksanakan secara automatik. Dengan cara ini ia menunjukkan pernyataan pembina.

Pembina terbahagi kepada tiga jenis.

  • Pembina lalai

  • Pembina berparameter

  • Pembina bukan parametrik

Pembina lalai

Pembina lalai tidak ditakrifkan oleh pengguna, Python sendiri mencipta pembina semasa penyusunan atur cara. Ia tidak melakukan apa-apa tugas tetapi memulakan objek.

Contoh

Python menjana pembina kosong tanpa kod di dalamnya. Lihat contoh di bawah.

class A():
    check_value = 1000
    # a method
    def value(self):
        print(self.check_value)

# creating an object of the class
obj = A()

# calling the instance method using the object
obj.value()
Salin selepas log masuk

Output

1000
Salin selepas log masuk

Mari kita gunakan fungsi dir() terbina dalam Python untuk mengesahkan pembina kelas A.

dir(A)
Output:
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', 
'__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', 
'__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', 
'__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', 
'__subclasshook__', '__weakref__', 'check_value', 'value']
Salin selepas log masuk

python dir() Fungsi mengembalikan senarai semua sifat dan kaedah objek yang ditentukan. Dalam senarai di atas kita dapat melihat bahawa pembina lalai __init__ dicipta untuk objek A.

Pembina berparameter

Pembina berparameter menerima satu atau lebih parameter dan sendiri. Ia berguna apabila anda ingin mencipta objek dengan nilai harta tersuai. Pembina berparameter membolehkan kami menentukan nilai sifat objek semasa mencipta objek.

Contoh

Mari lihat contoh kelas dengan pembina berparameter

class Family:
   members = 10
   def __init__(self, count):
      self.members = count
   
   def disply(self):
      print("Number of members is", self.members)  

joy_family = Family(25)
joy_family.disply()
Salin selepas log masuk

Output

Number of members is 25
Salin selepas log masuk

Di sini objek siri Joy dicipta menggunakan nilai tersuai 25 dan bukannya menggunakan nilai harta ahli lalai 10. Dan nilai itu tersedia untuk contoh ini kerana ia diperuntukkan kepada harta self.members.

Pembina bukan parametrik

Pembina bukan parametrik tidak menerima sebarang parameter kecuali diri sendiri. Ia berguna apabila anda ingin memanipulasi nilai sifat contoh.

Contoh

Mari kita lihat contoh pembina bukan parametrik.

class Player:
   def __init__(self):
      self.position = 0
   
   # Add a move() method with steps parameter     
   def move(self, steps):
      self.position = steps
      print(self.position)
   
   def result(self):
      print(self.position)

player1 = Player()
print('player1 results')
player1.move(2)
player1.result()

print('p2 results')
p2 = Player()
p2.result()
Salin selepas log masuk

Output

player1 results
2
2
p2 results
0
Salin selepas log masuk
Objek

player1 mengendalikan sifat "kedudukan" dengan menggunakan kaedah move(). Dan objek p2 mengakses nilai lalai bagi sifat "kedudukan".

Atas ialah kandungan terperinci Pembina dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
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