pythonの%ってなに?
Pythonの%は、print文のformat用
Pythonのコードに突如出現する「%」記号。初見だと意味がわからないし、読み方も調べ方もわからないので混乱するんですよね。
%の使われ方には、大きく2つあります。
剰余演算子として使われる場合と、print分のフォーマット文字列に値を埋め込む指定の場合です。
pythonの%記号は、演算子として使われるときは「剰余演算子(modulo)」で、与えられた数値を割った余りを求めるのに使われます。
関連)Pythonのあまり
もう一つは、print文で変数の内容をフォーマット文字列に埋め込むのに使う記号。
name = "John" print("Hello, %s!" % name) # 出力:Hello, John!
上記の例だと、”Hello, %s”の%sの部分に変数nameを埋め込むという意味になります。
複数の変数を指定するときには、カッコが必要になるので扱いにはちょっと注意が必要。
a = 10 b = 20 c = 30 print("a = %d, b = %d, c = %d" % (a, b, c)) # 出力:a = 10, b = 20, c = 30
%sや%dは埋め込む値の型によって変化します。
- %s:文字列型
- %d:数値型
- %f:浮動少数
数値を指定すると、桁数指定が可能です。
%sは文字列フォーマット指定子です。桁数を指定して文字列を出力する場合は、以下のようにします。
name = "John Doe" print("My name is %.10s" % name) # 出力:My name is John Doe
%dは整数フォーマット指定子です。桁数を指定して整数を出力する場合は、以下のようにします。
num = 12345 print("My number is %.4d" % num) # 出力:My number is 0123
%fは浮動小数点フォーマット指定子です。桁数を指定して浮動小数点を出力する場合は、以下のようにします。
pi = 3.14159265 print("The value of pi is %.4f" % pi) # 出力:The value of pi is 3.1416
このへん、公式ドキュメントのどこを探せば掲載されているのか、よくわからないんですよね…。
しらべまくった結果、以下のページに掲載されていました。python公式ドキュメントの「printf形式の文字列書式化」に指定師の使い方が記載されています。