Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan fungsi repr() dalam Python untuk mendapatkan perwakilan rentetan objek

Cara menggunakan fungsi repr() dalam Python untuk mendapatkan perwakilan rentetan objek

王林
王林asal
2023-08-22 12:43:512085semak imbas

Cara menggunakan fungsi repr() dalam Python untuk mendapatkan perwakilan rentetan objek

Cara menggunakan fungsi repr() dalam Python untuk mendapatkan perwakilan rentetan objek

Pengenalan:
Dalam Python, kita selalunya perlu menukar objek kepada bentuk rentetan untuk output, penyimpanan atau hantaran kepada fungsi lain. Fungsi repr() ialah salah satu fungsi yang biasa digunakan dalam Python, digunakan untuk mendapatkan perwakilan rentetan objek. Artikel ini akan memperkenalkan cara menggunakan fungsi repr() dan melampirkan contoh kod.

1. Peranan fungsi repr():
Dalam Python, setiap objek mempunyai perwakilan rentetan lalai, yang digunakan untuk memaparkan maklumat asas objek. Tetapi dalam beberapa kes, kami mungkin perlu mendapatkan lebih banyak maklumat objek, termasuk atribut terperinci, status, dsb. objek. Pada masa ini, anda boleh menggunakan fungsi repr() untuk mendapatkan perwakilan rentetan objek. Rentetan yang dikembalikan oleh fungsi
repr() mempunyai ciri-ciri berikut:

  1. Rentetan itu disertakan dalam petikan tunggal atau petikan berganda.
  2. String boleh ditukar semula menjadi objek asal menggunakan fungsi eval().
  3. Borang rentetan mengandungi maklumat terperinci objek, seperti nama kelas, atribut, status, dsb.

2. Cara menggunakan fungsi repr():
Fungsi repr() sangat mudah digunakan, cuma tambah titik "." kemudian ikut repr(), iaitu:
repr(. Objek)

Contoh Kod:
Berikut ialah contoh kod ringkas yang menunjukkan cara menggunakan fungsi repr() untuk mendapatkan perwakilan rentetan objek:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def __repr__(self):
        return f"Person('{self.name}', {self.age})"
        
    def __str__(self):
        return f"Person: {self.name}, {self.age}"

person = Person("Tom", 25)

# 使用repr()函数输出对象的字符串表示形式
print(repr(person))  # 输出:Person('Tom', 25)

Dalam kod di atas, kami telah menentukan kelas Orang, Ia mengandungi dua sifat nama dan umur. Dalam kelas, kita mengatasi kaedah __repr__(), yang akan dipanggil oleh fungsi repr() dan mengembalikan rentetan dalam bentuk Person('Tom', 25). Kami juga mengatasi kaedah __str__(), yang akan dipanggil oleh fungsi print() dan mengembalikan rentetan dalam bentuk Person: Tom, 25. Apabila mencetak objek orang, gunakan fungsi repr() untuk mendapatkan perwakilan rentetan objek.

3. Perbezaan antara fungsi repr() dan fungsi str():
Dalam contoh kod di atas, kami telah menulis semula kaedah __repr__() dan kaedah __str__() pada masa yang sama. Ini kerana dalam Python, terdapat perbezaan antara fungsi repr() dan fungsi str(). Rentetan yang dikembalikan oleh fungsi repr() digunakan untuk pembangunan dan penyahpepijatan, manakala rentetan yang dikembalikan oleh fungsi str() digunakan untuk paparan pengguna. Biasanya, kita harus mengatasi kedua-dua kaedah untuk menggunakan perwakilan rentetan yang berbeza dalam senario yang berbeza.

Sebagai contoh, apabila kita mencetak objek orang secara langsung, kaedah __str__() akan dipanggil dan outputnya ialah: Orang: Tom, 25. Apabila kita menggunakan fungsi repr() untuk mendapatkan perwakilan rentetan objek orang, kaedah __repr__() dipanggil, dan outputnya ialah: Person('Tom', 25). Perbezaan antara keduanya ialah rentetan yang dikembalikan oleh fungsi repr() mengandungi maklumat yang lebih terperinci, yang sesuai untuk pembangunan dan penyahpepijatan.

Kesimpulan:
Artikel ini menerangkan cara menggunakan fungsi repr() untuk mendapatkan perwakilan rentetan objek. Dengan mengatasi kaedah __repr__(), kita boleh menyesuaikan perwakilan rentetan objek dan mengembalikannya menggunakan fungsi repr(). Fungsi repr() sering digunakan untuk pembangunan dan penyahpepijatan, dan boleh melihat sifat dan status objek dengan mudah. Dalam pengaturcaraan sebenar, kita harus menulis semula kedua-dua kaedah __repr__() dan kaedah __str__() mengikut situasi sebenar untuk menggunakan perwakilan rentetan yang berbeza dalam senario yang berbeza.

Atas ialah kandungan terperinci Cara menggunakan fungsi repr() dalam Python untuk mendapatkan perwakilan rentetan objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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