Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Membetulkan Ralat Pemformatan Rentetan Semasa Mencampurkan % dan {} Pemegang Tempat?

Bagaimana untuk Membetulkan Ralat Pemformatan Rentetan Semasa Mencampurkan % dan {} Pemegang Tempat?

Linda Hamilton
Lepaskan: 2024-10-18 12:03:15
asal
355 orang telah melayarinya

How to Correct String Formatting Error When Mixing % and {} Placeholders?

Error in String Formatting Using % and {}

While attempting to format strings using placeholders like {0}, you may encounter the error "TypeError: not all arguments converted during string formatting." This error arises due to a misunderstanding of the syntax differences between old-style % formatting and new-style {} formatting.

Old-Style % Formatting

The old-style % formatting technique employs placeholder codes% to format strings. For single values, they can be written as is:

'It will cost $%d dollars.' % 95
Salin selepas log masuk

For multiple values, they must be supplied as a tuple:

"'%s' is longer than '%s'" % (name1, name2)
Salin selepas log masuk

New-Style {} Formatting

The new-style {} formatting uses placeholder codes {} and the .format method. Here's the key difference: you cannot mix and match the two styles. If the "template" string contains {} placeholders, then call .format, don't use %.

'It will cost ${0} dollars.'.format(95)

"'{0}' is longer than '{1}'".format(name1, name2)
Salin selepas log masuk

Correcting the Code

To address the error in the given code, you can either use % formatting consistently or switch to {} formatting:

Old-style % Formatting

print ("'{0}' is longer than '{1}'"% (name1, name2))
Salin selepas log masuk

New-style {} Formatting

print ("'{0}' is longer than '{1}'".format(name1, name2))
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat Pemformatan Rentetan Semasa Mencampurkan % dan {} Pemegang Tempat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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