Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの「%」演算子とは?文字列フォーマットの基本と使い方を解説

Pythonの「%」演算子の役割

Pythonにおける「%(パーセント)」は、文字列フォーマット演算子(補間演算子)として機能します。「format % values」という形式で記述すると、フォーマット文字列内の変換指定子が、values側の要素によって置き換えられます。この仕組みは、C言語のsprintf()関数とよく似ています。

基本的な使い方:文字列の埋め込み

最もシンプルな例は、文字列の中に変数の値を埋め込むケースです。

>>> lang = "Python"
>>> print "%s is awesome!" % lang
Python is awesome

「%s」は文字列用の変換指定子で、ここに変数langの値が挿入されます。

数値のフォーマット

この記法を使えば、数値の表示形式も細かく制御できます。たとえば、小数点以下2桁に丸めて表示するには次のようにします。

>>> cost = 128.527
>>> print "The book costs $%.2f at the bookstore" % cost
The book costs $128.53 at the bookstore

「%.2f」は浮動小数点数を小数点以下2桁で表示するための指定子です。元の値128.527は四捨五入され、128.53と出力されます。

辞書を使った文字列補間

辞書(dict)を利用した文字列補間も可能です。この場合、「%」と変換文字の間に、括弧で囲んだキー名を指定します。

print('%(language)s has %(number)03d quote types.' % {'language': "Python", "number": 2})
Python has 002 quote types.

「%(language)s」はキー「language」の値を文字列として、「%(number)03d」はキー「number」の値を3桁のゼロ埋め整数として出力します。この方法なら、複数の値を順序を気にせず柔軟に埋め込めます。

まとめ

「%」演算子は、Pythonの初期から使われている古典的な文字列フォーマット手法です。現在では、より柔軟で可読性の高いstr.format()メソッドやf文字列(f-string)が推奨されていますが、レガシーコードや既存のライブラリでは今でも頻繁に見かけます。そのため、読み方と基本的な使い方を理解しておくことは、Python開発者にとって重要なスキルといえます。

文字列フォーマットとその演算子についてさらに詳しく知りたい方は、公式ドキュメントを参照してください。
printf形式の文字列フォーマット – Python公式ドキュメント

  1. Pythonのraw_input()関数とは?役割とinput()との違いをわかりやすく解説

    raw_input()関数の基本的な動作Python 2におけるraw_input()関数は、ユーザーに対してプロンプト(入力を促すメッセージ)を表示し、キーボードから入力されたデータを受け取り、その内容を文字列(str型)として返す関数です。引数は省略可能で、raw_input([arg])のように文字列を渡すと、それがそのままプロンプトとして画面に表示されます。以下は典型的な使用例です。name = raw_input(What is your name? ) print Hello, %s. % nameこのコードを実行すると、まず「What is your name? 」というプロンプ

  2. Pythonのreload()関数とは?モジュールを再読み込みする方法を解説

    Pythonのreload()関数とはPythonのreload(moduleName)関数は、すでに読み込まれているモジュールを再読み込み(リロード)するための機能です。モジュールを読み込む際は、通常どおり import moduleName の構文でインポートしておく必要があります。この関数は、対話型セッションでの利用を想定して設計されています。たとえば、モジュールのソースファイルを編集した後、Pythonインタプリタを終了して再起動することなく、変更内容をすぐにテストしたい場合に便利です。reload()の基本的な使い方以下は、モジュールを編集した後に再読み込みする基本的な例です。>