Pythonのprint 数値の表示桁数指定やformat

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で文字列を表示する

Pythonのprintで文字列を表示する

# 文字列を表示
print( "abc" )
abc

pythonのprintの基本形。単純に文字列を表示します。

Pythonのprintで数値の計算結果を表示する

Pythonのprintで数値の計算結果を表示する

# 数値の計算結果を表示
print( 1+2+3 )
6

四則演算や関数を使った計算結果を表示できます。

Pythonのprintで変数を表示する

Pythonのprintで変数を表示する

# 変数を表示
x = 100
print( x )
100

printで変数を表示します。変数を使った計算結果も表示可能。

Pythonの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で変数をフォーマット文字列で表示する

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で変数を小数点以下の桁数を指定して表示する

Pythonのprintで変数を小数点以下の桁数を指定して表示する

# 変数を小数点以下の桁数を指定して表示する
dd=3.14159
print( "dd=%3.3f" % dd )
dd=3.142

フォーマット文字列で、整数部、小数点以下の桁数を指定しての表示が可能です。

%3.3f という指定で、整数部3桁、小数部3桁の指定になります。

Pythonのprintで区切り文字を指定して、リスト型をCSV表示

Pythonのprintで区切り文字を指定して、リスト型をCSV表示

# 区切り文字を指定して、リスト型をCSV表示
mylist=['a','b','c','d','e','f']
print( mylist )
['a', 'b', 'c', 'd', 'e', 'f']

print文でリスト型変数を表示すると、上記のようになります。

参考 Pythonのlist 入門

print( *mylist, sep=',' )
a,b,c,d,e,f

print文のsepオプションでリスト型変数のポインタ(変数名に*を付加)を指定すると、リストの値をsepオプションで指定した文字列で区切って、CSVのような形式データを出力可能です。

関連 Pythonでcsv読み込み

Python print まとめ

まとめ

  • pythonのprint文は数値、文字列、変数を表示可能
  • フォーマット文字列を使うと、複数の変数や桁数など指定した形式で出力が可能
  • pythonのprint文では、改行文字や区切り文字の変更が可能