Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah saya boleh menyesuaikan output mencetak contoh kelas dalam Python?

Bagaimanakah saya boleh menyesuaikan output mencetak contoh kelas dalam Python?

Patricia Arquette
Lepaskan: 2024-12-17 01:11:25
asal
550 orang telah melayarinya

How can I customize the output of printing a class instance in Python?

Menyesuaikan Perwakilan Contoh Kelas Semasa Mencetak

Apabila cuba mencetak contoh kelas, anda mungkin menghadapi perwakilan lalai seperti memori alamat. Untuk menyesuaikan penampilan bercetak contoh kelas anda, teliti konsep __str__ dan __repr__.

Kaedah __str__

Dengan mentakrifkan kaedah __str__ dalam kelas anda, anda boleh mengawal cara kejadian diwakili apabila dicetak. Kaedah ini harus mengembalikan rentetan yang mengandungi teks paparan yang dikehendaki. Contohnya:

>>> class Test:
>>>     def __init__(self):
>>>         self.a = 'foo'
>>>     def __str__(self):
>>>         return f"Test with a: {self.a}"
Salin selepas log masuk

Kini, apabila mencetak tika kelas ini, anda akan mendapat perwakilan rentetan tersuai:

>>> t = Test()
>>> t
Test with a: foo
>>> print(t)
Test with a: foo
Salin selepas log masuk

Kaedah __repr__

Kaedah __repr__, apabila ditakrifkan, diutamakan daripada __str__ apabila mencetak menggunakan fungsi repr() atau dalam gesaan interaktif. Ia bertujuan untuk memberikan perwakilan yang lebih terperinci, sesuai untuk penyahpepijatan atau pembinaan semula. Jika anda mentakrifkan __repr__ tanpa __str__, ia juga akan berfungsi sebagai perwakilan bercetak.

Contohnya:

>>> class Test:
>>>     def __init__(self):
>>>         self.a = 'foo'
>>>     def __repr__(self):
>>>         return f"Test(a={self.a})"
Salin selepas log masuk

Apabila mencetak:

>>> t = Test()
>>> t
Test(a='foo')
>>> repr(t)
"Test(a='foo')"
Salin selepas log masuk

Ringkasan :

Untuk menyesuaikan perwakilan bercetak kelas anda contoh, tentukan kaedah __str__ untuk teks paparan yang diingini atau kaedah __repr__ untuk perwakilan terperinci. Jika kedua-duanya ditakrifkan, __str__ digunakan untuk mencetak manakala __repr__ digunakan untuk fungsi repr().

Atas ialah kandungan terperinci Bagaimanakah saya boleh menyesuaikan output mencetak contoh kelas dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan