Rumah > Artikel > pembangunan bahagian belakang > Cara menggunakan fungsi __str__() dalam Python untuk menentukan perwakilan rentetan objek
Cara menggunakan fungsi __str__() dalam Python untuk mentakrifkan perwakilan rentetan objek
Dalam Python, setiap objek mempunyai perwakilan rentetan yang digunakan untuk memaparkan kandungannya semasa mencetak objek. Selalunya, perwakilan rentetan lalai bagi objek tidak mencukupi untuk keperluan kita. Untuk menyesuaikan perwakilan rentetan objek, kita boleh menggunakan fungsi __str__() dalam Python. Fungsi
__str__() ialah kaedah khas yang digunakan untuk menukar objek kepada rentetan. Apabila kita mencetak objek, Python secara automatik memanggil fungsi __str__() objek dan mencetak nilai pulangannya sebagai rentetan.
Berikut ialah contoh mudah yang menunjukkan cara mentakrifkan perwakilan rentetan objek menggunakan fungsi __str__() dalam Python:
class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f"Person(name={self.name}, age={self.age})" person = Person("Tom", 25) print(person)
Dalam kod di atas, kami telah menentukan kelas yang dipanggil Person, yang Mempunyai dua atribut: nama dan umur. Kami mentakrifkan fungsi __str__() dalam kelas dan mengembalikan rentetan terformat yang mengandungi nilai atribut objek.
Apabila kita mencipta objek Orang dan mencetaknya, Python akan secara automatik memanggil fungsi __str__() objek dan mencetak nilai pulangannya. Hasil keluarannya ialah:
Person(name=Tom, age=25)
Dengan mentakrifkan fungsi __str__(), kita boleh memaparkan nilai atribut objek dalam cara yang lebih intuitif, menjadikannya lebih mudah untuk kita menyahpepijat dan memahami atur cara. Kita boleh menyesuaikan format rentetan dalam fungsi __str__() mengikut keperluan kita sendiri dan mengawal kandungan bercetak dengan tepat.
Selain fungsi __str__(), Python juga menyediakan satu lagi kaedah khas __repr__(). Rentetan yang dikembalikan oleh kaedah __repr__() mestilah ungkapan Python yang sah yang boleh digunakan untuk mencipta objek. Jika kita tidak mentakrifkan fungsi __str__(), Python akan memanggil fungsi __repr__() objek secara lalai untuk mencetak objek.
Berikut ialah contoh yang menunjukkan cara menggunakan kaedah __repr__():
class Person: def __init__(self, name, age): self.name = name self.age = age def __repr__(self): return f"Person(name={self.name}, age={self.age})" person = Person("Tom", 25) print(person)
Kod ini hampir sama dengan kod contoh sebelumnya, satu-satunya perbezaan ialah kita menggunakan kaedah __repr__() dan bukannya __str__() kaedah . Outputnya masih sama:
Person(name=Tom, age=25)
Perlu diingatkan bahawa kaedah __str__() digunakan terutamanya untuk menyediakan rentetan deskriptif untuk objek, manakala kaedah __repr__() digunakan terutamanya untuk menyediakan rentetan yang digunakan untuk membina semula objek . Dalam pembangunan sebenar, kita boleh memilih kaedah yang hendak digunakan mengikut keperluan, atau menentukan dua kaedah pada masa yang sama untuk menyediakan perwakilan rentetan yang lebih komprehensif.
Atas ialah kandungan terperinci Cara menggunakan fungsi __str__() dalam Python untuk menentukan perwakilan rentetan objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!