Mari kita bercakap tentang Diri dalam Python, siapa itu?

王林
Lepaskan: 2023-05-15 08:01:05
ke hadapan
960 orang telah melayarinya

Mari kita bercakap tentang Diri dalam Python, siapa itu?

Apabila semua orang mempelajari Python berorientasikan objek, mereka akan sentiasa menghadapi kewujudan yang sukar difahami: diri sendiri.

Siapakah diri ini? Mengapa setiap kaedah contoh kelas mempunyai kendiri parameter Apakah peranan yang dimainkannya

"Mari kita buat kesimpulan dahulu: selepas kelas dibuat seketika? Mewakili contoh (objek) itu sendiri "

Cara paling mudah untuk memahami diri ialah anda menganggap diri sebagai "kad ID bagi contoh (objek)."

Kelas Python Ia tidak boleh digunakan secara langsung Ia hanya boleh berfungsi dengan mencipta contoh (objek) Setiap contoh (objek) adalah unik dan ia boleh memanggil kaedah dan sifat kelas. Kelas adalah seperti pemilikan jiwa, membenarkan contoh (objek) mempunyai fungsi (diri) mereka sendiri.

Mari kita bercakap tentang Diri dalam Python, siapa itu?

Pemula akan mendapati bahawa terdapat kendiri parameter tetap dalam kaedah kelas (kaedah pembina dan kaedah contoh). Sama seperti kad ID, contoh boleh menggunakan kad ID untuk memanggil kaedah kelas.

Mari kita bercakap tentang Diri dalam Python, siapa itu?

Analogi kepada manusia, manusia ialah kelas Python, setiap individu mewakili contoh (objek), dan kad ID setiap orang mewakili diri dalam Python, setiap orang boleh Anda gunakan kad ID anda untuk pergi ke kolej, menaiki kereta api berkelajuan tinggi, menginap di hotel... (kaedah), dan contoh (objek) dalam Python juga boleh menggunakan kaedah kelas panggilan kendiri.

Mari kita bercakap tentang Diri dalam Python, siapa itu?

Di atas menggunakan analogi untuk menerangkan maksud diri Dalam analisis akhir, diri mewakili contoh itu sendiri "Apabila contoh (objek) memanggil kaedah kelas. Objek secara automatik akan menghantar rujukannya sendiri kepada kaedah sebagai parameter pertama, dan parameter pertama ialah diri "

Dan diri hanyalah cara penulisan konvensional, anda boleh menggunakan mana-mana nama lain dan bukannya diri. Ia tidak akan mengubah maksud kod, tetapi kami biasanya tidak melakukannya.

Untuk menggambarkan peranan diri dengan lebih baik, mari kita ambil contoh di bawah kelas Pelajar:

class Students:
# 构造方法
def __init__(self,name):
self.name = name
# 实例方法
def study(self,examination_results):
self.examination_results = examination_results
print("同学{}的考试分数是{}".format(self.name,self.examination_results))
print("该实例对象的地址是{}".format(self))
Salin selepas log masuk

Mari kita ambil contoh pelajar_a dahulu.

studend_a = Students('studend_a')
print(studend_a.name)
Salin selepas log masuk

Hasil cetakan keluar: student_a.

Mari kita ambil contoh lain pelajar_b.

studend_b = Students('studend_b')
print(studend_b.name)
Salin selepas log masuk

Hasil cetakan keluar: student_b.

Ia boleh dilihat bahawa kejadian (objek) adalah berbeza dan hasil cetakan juga berbeza Apabila kelas dijadikan instantiated, self.name sebenarnya sama dengan instance (object).name.

Mari kita ambil kod tadi sebagai contoh Mari kita panggil kaedah contoh di dalam, dan diri akan dicetak, yang akan menjadikannya lebih jelas.

Instance student_a:

studend_a = Students('studend_a')
print(studend_a.study(80))
Salin selepas log masuk

Hasil keluaran:

Skor ujian pelajar student_a ialah 80. Alamat objek instance ialah <「main」.Students object at 0x00000129EB0F6A90>.

Instance student_b:

studend_b = Students('studend_b')
print(studend_b.study(80))
Salin selepas log masuk

Hasil keluaran:

Skor peperiksaan pelajar student_b ialah 80. Alamat objek instance ialah <「main」.Students object at 0x00000129EB0F6B38>.

Anda boleh melihat dengan jelas bahawa diri yang dicetak oleh kedua-dua kejadian adalah berbeza, kerana diri mewakili tika (objek) itu sendiri.

Mengambil contoh student_b sebagai contoh, apabila mencetak sendiri, maklumat objek berikut muncul.

<__main__.Students object at 0x00000129EB0F6B38>.

Jika anda mencetak student_b sekali lagi, hasil yang sama akan muncul.

print(student_b)
Salin selepas log masuk

Output:

<__main__.students object at>.

Adakah jelas pada masa ini bahawa selepas kelas diwujudkan, diri mewakili tika (objek) itu sendiri.

Atas ialah kandungan terperinci Mari kita bercakap tentang Diri dalam Python, siapa itu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.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