Rumah > pembangunan bahagian belakang > Tutorial Python > Ralat Python: TypeError: jenis operan tidak disokong untuk +: 'int' dan 'str', apakah penyelesaiannya?

Ralat Python: TypeError: jenis operan tidak disokong untuk +: 'int' dan 'str', apakah penyelesaiannya?

王林
Lepaskan: 2023-08-19 20:42:29
asal
5808 orang telah melayarinya

Python报错:TypeError: unsupported operand type(s) for +: 'int' and 'str',解决方法是?

Ralat Python: TypeError: jenis operan yang tidak disokong untuk +: 'int' dan 'str', apakah penyelesaiannya?

Apabila menggunakan Python untuk pembangunan pengaturcaraan, kita sering menghadapi pelbagai ralat. Antaranya, TypeError adalah salah satu jenis ralat biasa. Apabila kami cuba menggunakan operator + untuk menambah integer dan rentetan dalam kod, ralat "TypeError: unsupported operand type(s) for +: 'int' dan 'str'" akan muncul.

Ralat ini bermakna untuk operator +, integer dan rentetan adalah jenis operan yang tidak serasi. Malah, operator + dalam Python berkelakuan berbeza antara jenis data yang berbeza. Apabila kita menggunakan operator + pada dua integer atau dua rentetan, ia melaksanakan operasi tambah yang sepadan. Walau bagaimanapun, apabila kami cuba menggunakan operator + pada integer dan rentetan, penterjemah Python tidak dapat mengenali operasi ini dan melaporkan ralat.

Jadi, bagaimana kita nak selesaikan masalah ini? Di bawah ini kami memberikan beberapa penyelesaian.

Kaedah 1: Gunakan fungsi str() untuk menukar integer kepada rentetan

num = 10
text = "Hello, World!"

result = str(num) + text
print(result)
Salin selepas log masuk

Dalam contoh ini, kita mula-mula menggunakan fungsi str() untuk menukar nombor integer kepada jenis rentetan, dan kemudian menggabungkan dua rentetan. . Ini akan mengelakkan ralat TypeError.

Kaedah 2: Gunakan rentetan terformat (rentetan-f)

num = 10
text = "Hello, World!"

result = f"{num} {text}"
print(result)
Salin selepas log masuk

Dalam contoh ini, kami menggunakan rentetan terformat (rentetan-f) untuk memformatkan nombor dan teks ke dalam jenis rentetan, dan Gunakan ruang untuk penyambungan. Ini akan mengelakkan ralat TypeError.

Kaedah 3: Gunakan operator pemformatan rentetan (%)

num = 10
text = "Hello, World!"

result = "%d %s" % (num, text)
print(result)
Salin selepas log masuk

Dalam contoh ini, kami menggunakan operator pemformatan rentetan (%) untuk menggabungkan nombor integer dan teks rentetan. %d mewakili jenis integer dan %s mewakili jenis rentetan. Dengan menghantar nombor dan teks sebagai parameter ke dalam rentetan untuk pemformatan, anda boleh mengelakkan masalah TypeError.

Melalui tiga kaedah di atas, kita boleh menyelesaikan masalah ralat "TypeError: jenis operan tidak disokong untuk +: 'int' dan 'str'". Antaranya, Kaedah 1 dan Kaedah 2 lebih biasa digunakan, dan anda boleh memilih penyelesaian yang sesuai dengan anda mengikut situasi tertentu.

Ringkasan:

Dalam pembangunan pengaturcaraan Python, apabila kami cuba menggunakan operator + untuk menambah integer dan rentetan, "TypeError: unsupported operand type(s) for +: 'int' dan 'str'" akan dibangkitkan ralat. Untuk menyelesaikan masalah ini, kita boleh menggunakan fungsi str() untuk menukar integer kepada rentetan, atau gunakan rentetan format (f-string) atau operator pemformatan rentetan (%) untuk melaksanakan operasi pemformatan rentetan dan penyambungan. Melalui penyelesaian ini, kami berjaya mengelakkan masalah ralat TypeError.

Atas ialah kandungan terperinci Ralat Python: TypeError: jenis operan tidak disokong untuk +: 'int' dan 'str', apakah penyelesaiannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan