Python の文字列フォーマットエラーを解決するにはどうすればよいですか?

WBOY
リリース: 2023-06-24 23:46:52
オリジナル
2070 人が閲覧しました

Python は広く使用されているプログラミング言語であり、文字列の書式設定はその非常に基本的かつ重要な機能の 1 つです。ただし、開発プロセス中に、タグの不適切な使用や文法エラーなどのさまざまな要因が原因で、文字列の書式設定エラーが発生することがあります。この記事では、Python の文字列フォーマット エラーを解決する方法について説明します。

1. Python の文字列フォーマット方法を理解する

Python では、文字列をフォーマットする方法が 3 つあります: パーセント記号 (%) メソッド、string.format() 関数メソッド、および新しい f- Python3の文字列メソッド。このうち、最初の 2 つのメソッドが最もよく使用されますが、f-string は Python 3.6 バージョンで追加された新しいメソッドであり、比較的新しいです。

1. パーセント記号 (%) メソッド

パーセント記号 (%) メソッドは、Python における最も初期かつ最も古典的な文字列書式設定メソッドであり、その使用法は次のとおりです:

name = 'Tom'
age = 18
score = 95.8
print('%s is %d years old, and his score is %.1f.' % (name, age, score))
ログイン後にコピー
ログイン後にコピー

出力結果:

Tom is 18 years old, and his score is 95.8.
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

2. String.format() 関数メソッド

String.format() 関数メソッドは Python の 2 番目の文字列書式設定メソッドであり、その使用法は次のとおりです。 ##

name = 'Tom'
age = 18
score = 95.8
print('{} is {} years old, and his score is {:.1f}.'.format(name, age, score))
ログイン後にコピー

出力結果:

Tom is 18 years old, and his score is 95.8.
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

3.f-stringメソッド

Python3.6バージョンではf-stringメソッドが追加されており、使用方法は以下の通りです。 ##
name = 'Tom'
age = 18
score = 95.8
print(f'{name} is {age} years old, and his score is {score:.1f}.')
ログイン後にコピー

出力結果:

Tom is 18 years old, and his score is 95.8.
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

2. 一般的な Python 文字列フォーマット エラーと解決策

1. マーカー使用エラー

文字列フォーマットでは、マーカーはとても重要です。一般的なタグには、%s、%d、%f などが含まれます。このうち、%s は文字列、%d は整数、%f は浮動小数点数を表します。

間違ったタグを使用するとエラーが発生します。例:

name = 'Tom'
age = 18
score = 95.8
print('%s is %d years old, and his score is %d.' % (name, age, score))
ログイン後にコピー

出力結果:

TypeError: %d format: a number is required, not float
ログイン後にコピー

これは、スコアが %d マーカーを使用しているためですが、スコアは浮動小数点数であるため、%f マーカーを使用する必要があります。したがって、コードを次のように変更する必要があります:

name = 'Tom'
age = 18
score = 95.8
print('%s is %d years old, and his score is %.1f.' % (name, age, score))
ログイン後にコピー
ログイン後にコピー

出力結果:

Tom is 18 years old, and his score is 95.8.
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

string.format() 関数または f-string メソッドを使用して、タグ使用エラーを回避することもできます。

2. パラメータの不一致

文字列をフォーマットするときは、渡されるパラメータの数が対応するマーカーの数と一致することを確認する必要があります。パラメータが多すぎたり少なすぎたりするとエラーが発生します。例:

name = 'Tom'
print('%s is %d years old.' % (name))
ログイン後にコピー

出力結果:

TypeError: not enough arguments for format string
ログイン後にコピー

これは、パラメータを 1 つだけ渡したが、マーカーが 2 つあるためです。コードを次のように変更する必要があります。

name = 'Tom'
age = 18
print('%s is %d years old.' % (name, age))
ログイン後にコピー

出力結果:

Tom is 18 years old.
ログイン後にコピー

3. 構文エラー

構文エラーは、Python でよくあるエラーの 1 つです。特に文字列の書式設定では、括弧や引用符などの記号を誤って使用すると、構文エラーが発生しやすくなります。例:

print('My name is {}. I'm {} years old.' .format('Tom', 18))
ログイン後にコピー

出力結果:

  File "<ipython-input-5-24fc64aa88e2>", line 1
    print('My name is {}. I'm {} years old.' .format('Tom', 18))
                            ^
SyntaxError: invalid syntax
ログイン後にコピー

これは、上記の文字列で 2 つの一重引用符が使用されているため、解析エラーが発生します。コードは次のように変更する必要があります:

print("My name is {}. I'm {} years old." .format('Tom', 18))
ログイン後にコピー

出力結果:

My name is Tom. I'm 18 years old.
ログイン後にコピー

4. まとめ

文字列の書式設定は Python の非常に基本的かつ重要な機能です。その解決方法をマスターしてください。 Python 文字列のフォーマットエラーにより、コードの品質が向上する可能性があります。文字列の書式設定を使用する場合は、Python の文字列の書式設定方法を理解し、マーカーの誤った使用、パラメータの不一致、構文エラーなどの一般的なエラー タイプを回避する必要があります。エラーが発生した場合は、コードを注意深く調べてエラーを見つけて修正する必要があります。

以上がPython の文字列フォーマットエラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート