Pythonの文字列フォーマット演算子(%)の使い方を徹底解説
Pythonの魅力的な機能の一つが、文字列フォーマット演算子「%」です。この演算子は文字列に対してのみ使用できる特別なもので、C言語のprintf()関数ファミリーに相当する書式化機能を実現します。文字列の中に変数の値を組み込みたいときに非常に便利です。
基本的な使い方
まずは簡単なサンプルコードを見てみましょう。
#!/usr/bin/python
print("My name is %s and weight is %d kg!" % ('Zara', 21))実行結果
My name is Zara and weight is 21 kg!
この例では、文字列内の %s が文字列 'Zara' に、%d が整数 21 にそれぞれ置き換えられています。このように、% 演算子の右側にタプルで値を渡すことで、書式指定子の位置に値が挿入されます。
使用できる変換指定子の一覧
% と組み合わせて使用できる書式指定記号は以下のとおりです。
| 番号 | 書式指定子 | 説明 |
|---|---|---|
| 1 | %c | 1文字(文字)として出力する |
| 2 | %s | 文字列として出力する(書式化の前にstr()で文字列に変換される) |
| 3 | %i | 符号付き10進整数 |
| 4 | %d | 符号付き10進整数 |
| 5 | %u | 符号なし10進整数 |
| 6 | %o | 8進整数 |
| 7 | %x | 16進整数(英字は小文字) |
| 8 | %X | 16進整数(英字は大文字) |
| 9 | %e | 指数表記(小文字の「e」を使用) |
| 10 | %E | 指数表記(大文字の「E」を使用) |
| 11 | %f | 浮動小数点数 |
| 12 | %g | %f と %e のうち、より短くなる方で出力 |
| 13 | %G | %f と %E のうち、より短くなる方で出力 |
書式を細かく制御する補助記号
さらに、以下の記号を組み合わせることで、出力の幅や寄せ方などを細かく制御できます。
| 番号 | 記号 | 機能 |
|---|---|---|
| 1 | * | 幅や精度を引数から指定する |
| 2 | - | 左寄せで表示する |
| 3 | + | 数値の符号(+/-)を必ず表示する |
| 4 | <スペース> | 正の数の前に半角空白を1つ挿入する |
| 5 | # | 8進数の場合は先頭に「0」を、16進数の場合は先頭に「0x」「0X」(x / X の指定に応じて)を付ける |
| 6 | 0 | 左側の余白を空白ではなく「0」で埋める |
| 7 | % | 「%%」と書くことで、リテラルの「%」そのものを出力できる |
| 8 | (var) | マッピング変数(辞書型の引数)を使用する |
| 9 | m.n. | m は全体の最小表示幅、n は小数点以下の表示桁数(該当する場合)を表す |
補助記号の活用例
print("%10.3f" % 3.14159) # 幅10・小数点以下3桁 → ' 3.142'
print("%-10d|" % 42) # 左寄せ・幅10 → '42 |'
print("%05d" % 123) # ゼロ埋め・幅5 → '00123'まとめ
% 演算子を使った文字列フォーマットは、C言語スタイルのシンプルな書式指定方法です。なお、Python 3では str.format() メソッドやf文字列(f-string)といった、より柔軟で可読性の高いフォーマット手法も利用できます。既存のコードを読む際に%形式の理解は不可欠なので、各指定子の意味をしっかり押さえておきましょう。
-
PythonでJSONを扱う方法|jsonモジュールによる変換とエンコード・デコードの基本
JSON(JavaScript Object Notation)は、軽量で広く普及しているデータ交換フォーマットです。Pythonでは標準ライブラリに含まれる json モジュールを使うことで、JSON文字列をPythonオブジェクトへ変換したり、その逆にPythonオブジェクトをJSON文字列へ変換したりできます。json モジュールはPythonの標準ライブラリに同梱されているため、追加インストールは不要です。まずはインポートしましょう。import jsonPythonオブジェクトをJSON文字列へ変換するjson モジュールには、PythonオブジェクトをJSON形式へ変換(シリアライ
-
Pythonの演算子関数とは?operatorモジュールの基本と使い方
Pythonには、算術演算・論理演算・比較演算・ビット演算といった数学的な操作を行うための標準ライブラリ関数が用意されています。これらの関数はすべてoperatorモジュールにまとめられています。 operatorモジュールを利用するには、まず標準ライブラリからインポートする必要があります。 import operator この記事では、operatorモジュールが提供する演算子関数のうち、特に使用頻度の高い「算術演算」と「比較(関係)演算」の関数を、サンプルコードと実行結果あわせて解説します。 算術演算の関数 まずは、四則演算など基本的な計算を行う関数から見ていきましょう。主な関数は以下