pythonのprintについて、構文とサンプルコードをまとめています。
pythonのprintの構文
printは、pythonの文字列や数値、その他のデータ型の定数、変数を表示可能です。
#!/usr/bin/python3 # 文字列を表示 print( "abc" ) # 数値の計算結果を表示 print( 1+2+3 ) # 変数を表示 x = 100 print( x ) # 改行ありで表示 print( "a" ) print( "b" ) print( "c" ) # 改行なしで表示 print( "a", end='' ) print( "b", end='' ) print( "c", end='' ) print( "" ) # 変数(文字列)をフォーマット文字列に当てはめて表示 print( "x=%d" % x ) # 複数の変数をフォーマット文字列に当てはめて表示 y=200 z=300 print( "x=%d y=%d z=%d" % (x, y, z) ) # 変数を小数点以下の桁数を指定して表示する dd=3.14159 print( "dd=%3.3f" % dd ) # 区切り文字を指定して、リスト型をCSV表示 mylist=['a','b','c','d','e','f'] print( mylist ) print( *mylist, sep=',' )
実行するとこうなります。
abc 6 100 a b c abc x=100 x=100 y=200 z=300 dd=3.142 ['a', 'b', 'c', 'd', 'e', 'f'] a,b,c,d,e,f
Pythonのprintで文字列を表示する
# 文字列を表示 print( "abc" ) abc
pythonのprintの基本形。単純に文字列を表示します。
Pythonのprintで数値の計算結果を表示する
# 数値の計算結果を表示 print( 1+2+3 ) 6
四則演算や関数を使った計算結果を表示できます。
Pythonのprintで変数を表示する
# 変数を表示 x = 100 print( x ) 100
printで変数を表示します。変数を使った計算結果も表示可能。
Pythonのprintを改行なしで表示する
# 改行ありで表示 print( "a" ) print( "b" ) print( "c" ) a b c
print文はデフォルトでは、表示後に改行が表示されます。改行文字はend=で指定できます。end=”(シングルクォート2つ)と指定すると改行ナシで表示されます。
# 改行なしで表示 print( "a", end='' ) print( "b", end='' ) print( "c", end='' ) print( "" ) abc
Pythonのprintで変数をフォーマット文字列で表示する
# 変数(文字列)をフォーマット文字列に当てはめて表示 print( "x=%d" % x ) x=100
フォーマット文字列で使える%文字(変換型)は、以下を参照。
よく使うのは以下の3つ。
- %d:整数
- %f:浮動小数点
- %s:文字列
参考 組み込み型 — Python 3.9.1 ドキュメント
# 変数をフォーマット文字列に当てはめて表示 x=100 print( "x=%d" % x ) x=100
複数のフォーマット文字列に順番に変数をぶっこんで行くことも可能。
# 複数の変数をフォーマット文字列に当てはめて表示 x=100 y=200 z=300 print( "x=%d y=%d z=%d" % (x, y, z) ) x=100 y=200 z=300
複数の文字列をフォーマット文字列に当てはめるには、
フォーマット文字列 % (変数,変数,変数)
のような形式で記述します。
フォーマット済み文字列リテラルという方法も使えます。
# 複数の変数をフォーマット文字列に当てはめて表示 x=100 y=200 z=300 print( f"x={x} y={y} z={z}" ) x=100 y=200 z=300
f”~”で囲った中で、{変数名}という指定をすると、そこがそのまま変数に置き換わるんですね。
- メリット:どこにどの変数が埋め込まれるのかがわかりやすい
- デメリット:文字列定数と変数が混在するので、修正時にバグを生みやすいかも? 中括弧({ })を使うときにもめんどう
それほど積極的に使う理由はないように思えますが、コードを見ていて「んっ?ナニコレ」ってなることもあるので、一応覚えておくといいかも。
Pythonのprintで変数を小数点以下の桁数を指定して表示する
# 変数を小数点以下の桁数を指定して表示する dd=3.14159 print( "dd=%3.3f" % dd ) dd=3.142
フォーマット文字列で、整数部、小数点以下の桁数を指定しての表示が可能です。
%3.3f という指定で、整数部3桁、小数部3桁の指定になります。
Pythonのprintで区切り文字を指定して、リスト型をCSV表示
# 区切り文字を指定して、リスト型をCSV表示 mylist=['a','b','c','d','e','f'] print( mylist ) ['a', 'b', 'c', 'd', 'e', 'f']
print文でリスト型変数を表示すると、上記のようになります。
print( *mylist, sep=',' ) a,b,c,d,e,f
print文のsepオプションでリスト型変数のポインタ(変数名に*を付加)を指定すると、リストの値をsepオプションで指定した文字列で区切って、CSVのような形式データを出力可能です。
Python print まとめ
- pythonのprint文は数値、文字列、変数を表示可能
- フォーマット文字列を使うと、複数の変数や桁数など指定した形式で出力が可能
- pythonのprint文では、改行文字や区切り文字の変更が可能