Pengenalan kepada diri dalam Python
Dalam Python, self ialah kata kunci khas yang digunakan untuk mewakili objek contoh kelas itu sendiri. Dalam kaedah kelas, sifat dan kaedah objek dirujuk melalui diri. Parameter diri tidak wajib dalam Python dan boleh digantikan dengan mana-mana nama lain, tetapi adalah kebiasaan untuk menggunakan diri untuk mewakilinya.
Dalam kaedah kelas, parameter diri mesti dihantar sebagai parameter pertama, mewakili rujukan kepada objek semasa. Melalui diri, kita boleh mengakses sifat dan kaedah kelas dan memanggil kaedah lain.
Mari kita gambarkan penggunaan diri melalui contoh khusus:
class Person: def __init__(self, name, age): self.name = name self.age = age def say_hello(self): print("Hello, my name is", self.name) print("I am", self.age, "years old.") person = Person("Tom", 25) person.say_hello()
Dalam kod di atas, kami mentakrifkan kelas Orang, yang mengandungi dua nama atribut dan umur, serta mentakrifkan kaedah say_hello. Dalam kaedah say_hello, kami merujuk kepada nama atribut dan umur objek melalui diri, dan mengeluarkan maklumat yang sepadan.
Seterusnya kami mencipta objek contoh Orang, orang, dan memanggil kaedah say_hello. Dalam proses memanggil kaedah say_hello, rujukan kepada objek orang secara automatik dihantar sebagai parameter diri. Oleh itu, self.name dalam kaedah say_hello mewakili atribut nama objek orang, dan self.age mewakili atribut umur objek orang.
Laksanakan kod di atas, hasil output ialah:
Hello, my name is Tom I am 25 years old.
Melalui contoh ini, kita dapat melihat bahawa melalui diri kita boleh mengakses sifat dan kaedah kelas, menjadikan kod lebih jelas dan lebih mudah difahami. Pada masa yang sama, kita juga boleh memanggil kaedah lain melalui diri di dalam kelas untuk merealisasikan panggilan bersama kaedah.
Perlu diingat bahawa apabila merujuk sifat dan kaedah dalam kelas, ia mesti dirujuk melalui diri sendiri, jika tidak, ralat akan dilaporkan. Sebagai contoh, dalam kaedah say_hello, jika anda tidak menggunakan diri untuk merujuk kepada nama atribut dan umur, tetapi menggunakan nama dan umur secara langsung, ralat akan berlaku. NameError: name 'name' is not defined
Atas ialah kandungan terperinci Pengenalan kepada diri dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!