Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengatasi `__str__` dan `__repr__` untuk Output Cetakan Tersuai bagi Contoh Kelas?

Bagaimana untuk Mengatasi `__str__` dan `__repr__` untuk Output Cetakan Tersuai bagi Contoh Kelas?

Susan Sarandon
Lepaskan: 2025-01-03 04:45:38
asal
533 orang telah melayarinya

How to Override `__str__` and `__repr__` for Customized Print Output of Class Instances?

Cara Menyesuaikan Perwakilan Rentetan Kejadian Kelas dengan print()

Apabila mencetak tika kelas, tingkah laku lalai sering memaparkan lokasi ingatan objek. Untuk menyesuaikan perwakilan rentetan dan mengawal perkara yang ditunjukkan semasa mencetak, anda boleh melaksanakan dua kaedah khas: str dan __repr__.

__str__: Mentakrifkan Perwakilan Rentetan Boleh Dibaca Manusia

Kaedah str mentakrifkan rentetan representasi objek untuk kegunaan umum. Ia digunakan apabila anda memanggil print() atau str() pada objek. Dengan mengatasi __str__, anda boleh menentukan output tersuai yang dipaparkan semasa mencetak.

__repr__: Menentukan Perwakilan Rentetan untuk Nyahpepijat

repr kaedah mentakrifkan perwakilan rentetan yang dimaksudkan untuk tujuan penyahpepijatan. Ia digunakan apabila anda memanggil repr() pada objek atau jika anda tidak mentakrifkan str__. Perwakilan __repr mestilah ungkapan Python yang sah yang menilai kepada objek.

Contoh

Untuk menyesuaikan perwakilan rentetan kejadian kelas anda:

class Test:
    def __init__(self):
        self.a = 'foo'

    def __str__(self):
        return "member of Test"

    def __repr__(self):
        return "Test()"
Salin selepas log masuk

Dalam contoh di atas:

  • The Kaedah str mengembalikan rentetan yang boleh dibaca manusia, "ahli Ujian", apabila anda mencetak objek.
  • Kaedah repr mengembalikan ungkapan Python yang sah, "Uji ()", itu akan mencipta semula objek.

Apabila anda mencetak tika ini kelas:

t = Test()
print(t)
Salin selepas log masuk

Ia akan memaparkan "ahli Ujian" pada konsol, memberikan perwakilan tersuai dan bermakna.

Atas ialah kandungan terperinci Bagaimana untuk Mengatasi `__str__` dan `__repr__` untuk Output Cetakan Tersuai bagi Contoh Kelas?. 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