Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menyelesaikan ralat pemformatan rentetan Python?

Bagaimana untuk menyelesaikan ralat pemformatan rentetan Python?

WBOY
WBOYasal
2023-06-24 23:46:522026semak imbas

Python ialah bahasa pengaturcaraan yang digunakan secara meluas, dan pemformatan rentetan ialah salah satu ciri yang sangat asas dan penting. Walau bagaimanapun, semasa proses pembangunan, kadangkala kami menghadapi beberapa ralat pemformatan rentetan, yang mungkin datang daripada pelbagai faktor seperti penggunaan teg kami yang tidak betul dan ralat tatabahasa. Artikel ini akan membincangkan cara menyelesaikan ralat pemformatan rentetan Python.

1. Fahami kaedah pemformatan rentetan Python

Dalam Python, terdapat tiga cara untuk memformat rentetan: kaedah tanda peratus (%), kaedah fungsi string.format() dan mod rentetan f- dalam Python3. Antaranya, dua kaedah pertama adalah yang paling biasa digunakan, manakala f-string ialah kaedah baharu yang ditambah dalam versi Python 3.6, yang agak baharu.

1. Kaedah tanda peratus (%)

Kaedah tanda peratus (%) ialah kaedah pemformatan rentetan yang paling awal dan paling klasik dalam Python Penggunaannya adalah seperti berikut:

name = 'Tom'
age = 18
score = 95.8
print('%s is %d years old, and his score is %.1f.' % (name, age, score))

Hasil keluaran:

Tom is 18 years old, and his score is 95.8.

2 () function method

String.format() function method ialah kaedah pemformatan rentetan kedua dalam Python Penggunaannya adalah seperti berikut:

name = 'Tom'
age = 18
score = 95.8
print('{} is {} years old, and his score is {:.1f}.'.format(name, age, score))

Hasil keluaran:

Tom is 18 years old, and his score is 95.8.

3.f-string Method

Python 3.6 versi telah ditambah. kaedah f-string. Kaedah penggunaan adalah seperti berikut:

name = 'Tom'
age = 18
score = 95.8
print(f'{name} is {age} years old, and his score is {score:.1f}.')

Hasil keluaran:

Tom is 18 years old, and his score is 95.8.

2 ralat dan penyelesaian biasa pemformatan rentetan

1 sangat penting. Teg biasa termasuk %s, %d, %f, dsb. Antaranya, %s mewakili rentetan, %d mewakili integer dan %f mewakili nombor titik terapung.

Jika salah guna marker, ralat akan berlaku. Contohnya:

name = 'Tom'
age = 18
score = 95.8
print('%s is %d years old, and his score is %d.' % (name, age, score))

Hasil keluaran:

TypeError: %d format: a number is required, not float

Ini kerana skor menggunakan penanda %d, tetapi skor ialah nombor titik terapung dan penanda %f harus digunakan. Oleh itu, kita harus menukar kod kepada:

name = 'Tom'
age = 18
score = 95.8
print('%s is %d years old, and his score is %.1f.' % (name, age, score))

Hasil keluaran:

Tom is 18 years old, and his score is 95.8.

Kita juga boleh menggunakan fungsi string.format() atau kaedah f-string untuk mengelakkan ralat penggunaan tag.

2. Parameter tidak sepadan

Apabila memformat rentetan, anda perlu memastikan bahawa bilangan parameter yang diluluskan sepadan dengan bilangan penanda yang sepadan. Jika terdapat terlalu banyak atau terlalu sedikit parameter, ralat akan berlaku. Sebagai contoh:

name = 'Tom'
print('%s is %d years old.' % (name))

Hasil keluaran:

TypeError: not enough arguments for format string

Ini kerana kita hanya melepasi satu parameter, tetapi terdapat dua penanda, kod tersebut hendaklah ditukar kepada:

name = 'Tom'
age = 18
print('%s is %d years old.' % (name, age))

Hasil keluaran:

Tom is 18 years old.

3. Ralat sintaks

Ralat adalah salah satu kesilapan biasa dalam Python. Terutama dalam pemformatan rentetan, ralat sintaks boleh berlaku dengan mudah kerana penggunaan simbol yang salah seperti kurungan dan tanda petikan. Contohnya:

print('My name is {}. I'm {} years old.' .format('Tom', 18))

Hasil keluaran:

  File "<ipython-input-5-24fc64aa88e2>", line 1
    print('My name is {}. I'm {} years old.' .format('Tom', 18))
                            ^
SyntaxError: invalid syntax

Ini kerana dua petikan tunggal digunakan dalam rentetan di atas, mengakibatkan ralat penghuraian. Kod harus ditukar kepada:

print("My name is {}. I'm {} years old." .format('Tom', 18))

Hasil keluaran:

My name is Tom. I'm 18 years old.

IV Ringkasan

Pemformatan rentetan ialah ciri yang sangat asas dan penting dalam Python Mengetahui cara menyelesaikan ralat pemformatan rentetan Python boleh meningkatkan kualiti kod kami. Apabila menggunakan pemformatan rentetan, kita perlu memahami kaedah pemformatan rentetan Python dan mengelakkan jenis ralat biasa, seperti penggunaan penanda yang salah, ketidakpadanan parameter dan ralat sintaks. Jika anda menghadapi ralat, anda perlu menyemak kod dengan teliti untuk mencari ralat dan membetulkannya.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat pemformatan rentetan Python?. 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