ホームページ > バックエンド開発 > Python チュートリアル > 「TypeError」を回避するために、Python 文字列フォーマットのパーセント記号をエスケープするにはどうすればよいですか?

「TypeError」を回避するために、Python 文字列フォーマットのパーセント記号をエスケープするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-25 14:11:11
オリジナル
356 人が閲覧しました

How Do I Escape Percentage Signs in Python String Formatting to Avoid `TypeError`?

Python 文字列でのパーセンテージのエスケープ

Python 文字列でパーセント演算子 (%) を使用すると、特に文字列の書式設定を操作する場合に、あいまいさが生じることがよくあります。この競合は、Python での % 文字のさまざまな使用法 (モジュロ演算子、文字列書式設定のプレースホルダー、および単純な文字として) が原因で発生します。パーセント文字処理の制御を維持するには、選択的エスケープが必要になります。

次のコードを検討してください:

test = "have it break."
selectiveEscape = "Print percent % in sentence and not %s" % test
ログイン後にコピー

selectiveEscape を印刷するとき、次のような表示が予想されるかもしれません:

Print percent % in sentence and not have it break.
ログイン後にコピー
ログイン後にコピー

ただし、書式設定プレースホルダー (%s) に 2 つのパーセントが含まれているため、インタープリターはそれをモジュロ演算子として解釈し、TypeError をスローします。これは、文字列引数ではなく数値が必要であることを示しています。

これを解決するには、リテラルとして扱いたいパーセント文字を選択的にエスケープする必要があります。これは、2 つのパーセント記号 (%%) を使用して実現できます。これにより、最初のパーセント文字が書式設定プレースホルダーではなくエスケープ シーケンスとして解釈されます。

修正されたコード:

test = "have it break."
selectiveEscape = "Print percent %% in sentence and not %s" % test
ログイン後にコピー

これらの調整により、出力は希望どおりに表示されるようになります:

Print percent % in sentence and not have it break.
ログイン後にコピー
ログイン後にコピー

この手法により、Python 文字列内のパーセント文字を選択的にエスケープでき、確実にプレースホルダーの書式設定ではなく、リテラル文字として解釈されること。

以上が「TypeError」を回避するために、Python 文字列フォーマットのパーセント記号をエスケープするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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