【Python】print関数で文字列と数値を出力

プログラム

自分はプログラムを書いているときにとりあえず最初は思うように書いてみて
出力が思う通りに帰ってこなかったときに途中で変数をprint関数で出力して
結果を確認しながら書いていきます。
最初からそうしながらやっている方が効率がいいのかもしれませんが。

そのときに変数が1個ならそのまま表示させて確認すればいいのですが、
複数の変数の時に文字列と数値を表示させるときのやり方をすぐ忘れてしまうので
いくつか記録していきます。

a, b, c, d = 10, 100, 1000, 1000000
print('a=' + a)
----------
TypeError: can only concatenate str (not "int") to str

上記のように書くとTypeErrorでstrとintが一緒じゃ駄目よって帰ってきます。
そこで文字列に変換、書式化演算子を使う、など以下の方法で書くと
全部同じ結果を返します。

print('a=' + str(a))
print('a=%d'%a)
print('a={}'.format(a))
print(f'a={a}')
----------
a=10

これは同じ結果を返します。
複数の変数を出力する場合は

print('a=%d, b=%d, c=%d, d=%d'%(a, b, c, d))
----------
a=10, b=100, c=1000, d=1000000

改行を挟む、桁数を合わせるには

print('a=%7d\nb=%7d\nc=%7d\nd=%7d'%(a, b, c, d))
----------
a=     10
b=    100
c=   1000
d=1000000

タイトルとURLをコピーしました