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}"
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
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})"
Apabila mencetak:
>>> t = Test() >>> t Test(a='foo') >>> repr(t) "Test(a='foo')"
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!