Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Fungsi `repr()` Python Berfungsi, dan Mengapa Rentetan Dipetik Dua Kali dalam Outputnya?

Bagaimanakah Fungsi `repr()` Python Berfungsi, dan Mengapa Rentetan Dipetik Dua Kali dalam Outputnya?

Linda Hamilton
Lepaskan: 2024-12-01 00:25:11
asal
792 orang telah melayarinya

How Does Python's `repr()` Function Work, and Why Are Strings Double-Quoted in Its Output?

Memahami Fungsi repr( ) dalam Python

Fungsi repr( ) Python mengembalikan perwakilan rentetan objek yang boleh dinilai. Ini bermakna rentetan itu boleh digunakan untuk mencipta semula objek yang sama menggunakan eval( ).

Mengapa petikan berganda apabila menggunakan repr( ) pada rentetan?

Apabila repr( ) digunakan pada rentetan, ia mengelilingi rentetan dengan petikan berganda. Ini membantu membezakan rentetan daripada jenis objek lain, seperti integer atau senarai.

Mengapa eval("'foo'") mengembalikan 'foo' dan bukannya x?

Apabila eval( ) dipanggil dengan rentetan, ia mentafsir rentetan itu sebagai ungkapan Python. Jika rentetan mengandungi ungkapan yang sah, ia menilai dan mengembalikan hasilnya. Dalam kes eval("'foo'"), ungkapan ialah rentetan literal, jadi ia menilai kepada rentetan yang sama. Sebaliknya, x ialah pembolehubah yang merujuk kepada rentetan 'foo'. Apabila eval( ) dipanggil dengan x, ia cuba menilai x sebagai ungkapan Python, yang gagal kerana x bukan ungkapan yang sah.

Kaedah __repr__()

repr( ) sebenarnya memanggil kaedah __repr__() objek. Kaedah ini mengembalikan perwakilan rentetan yang boleh dinilai bagi objek.

str( ) lwn. repr( )

Berbeza dengan repr( ), str( ) mengembalikan rentetan perwakilan objek yang sesuai untuk dipamerkan. Ia tidak mengelilingi rentetan dengan petikan berganda dan tidak mengandungi sebarang aksara khas untuk menunjukkan bahawa rentetan itu bertujuan untuk dinilai.

Ringkasan:

  • repr ( ) mengembalikan perwakilan rentetan yang boleh dinilai bagi objek.
  • repr( ) mengelilingi rentetan dengan petikan berganda kepada membezakannya daripada jenis objek lain.
  • eval( ) mentafsir rentetan sebagai ungkapan Python dan melaksanakannya.
  • Objek yang memanjangkan jenis terbina dalam boleh menyediakan pelaksanaan tersuai __repr__() dan __str__().
  • repr( ) berguna untuk penyahpepijatan dan introspeksi, manakala str( ) sesuai untuk output yang menghadap pengguna.

Atas ialah kandungan terperinci Bagaimanakah Fungsi `repr()` Python Berfungsi, dan Mengapa Rentetan Dipetik Dua Kali dalam Outputnya?. 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