【python 基本】print関数の出力をカスタマイズ出来るの知ってた?

新米太郎
新米太郎

皆さんこんにちは新米です。

print関数って文字列や変数の内容を出力するだけだと思っていたら、出力結果を変更できるオプションがあるんだと
初めて知った我輩は「どーも初心者です(笑)」

 

有益な情報であるのかと言われるとそこまで無いような気もするが、せっかく知ったことなので記事にまとめておこうと思う!

print関数の出力をカスタマイズ

紹介するのは以下の2点。

早速、コードを実行してデフォルトの出力結果と比較してみましょう。

 

オプション

役割

sep

区切り文字

end

改行を無くす

format、f

文字列に変数を埋め込む

sep:区切り文字

print関数で、複数の変数や文字列などの値を出力すると、スペース区切りで出力されますが
sepを使うことで任意の区切り文字を指定することが可能です。

[サンプルコード]
x = 100
y = 200
z = 300

print('区切りなし')
print(x,y,z)

print('区切りあり')
print(x,y,z,sep='*')

 

実行結果

区切りなし
100 200 300
区切りあり
100*200*300

end:改行をなくす

print()で改行を無くして出力したい場合は、endを使います。

[サンプルコード]
x = 'どら'
y = 'え'
z = 'もん'

print('改行あり')
print(x)
print(y)
print(z)
print('-----')
print('改行なし')
print(x,end='')
print(y,end='')
print(z)

 

実行結果

改行あり
どら
え
もん
-----
改行なし
どらえもん

Pythonの場合だとデフォルトで改行が入るので

例えば、、

Javaのような、改行あり:println() 改行なし:print()はありません。



format、f:文字列に変数を埋め込む

format、fを使って文字列中の{}が引数に指定した変数で置換されます。

実際に様々なパターンがあるので以下のコードを参考にして下さい。

[サンプルコード]

# 基本的なformatの使い方
food = '焼肉'
print('私の好きな食べ物は{}です。'.format(food))


# 複数の場合
name1='新米'
name2='太郎'
print('私の名前は{}{}です。'.format(name1,name2))


#引数の位置に応じた値で置換される。同じ値を繰り返し使いたい場合に便利。
print('名前は{1}{2}です。好きな食べ物は{0}で先週{0}食べてきました!'.format(food,name1,name2))


#小数点以下の桁数を指定。
pi = 3.141592
print('{:.1f}'.format(pi)) #小数点以下1位
print('{:.2f}'.format(pi)) #小数点以下2位
print('{:.3f}'.format(pi)) #小数点以下3位


# f文字列は文字列リテラルの前にfをつけた文字列。
# 文字列中の置換フィールド{}内に変数を直接指定できる。
print(f'{food}大好き!')

実行結果

私の好きな食べ物は焼肉です。
私の名前は新米太郎です。
名前は新米太郎です。好きな食べ物は焼肉で先週焼肉食べてきました!
3.1
3.14
3.142
焼肉大好き!

 

最後に

今後も自分が学んだ知識を皆さんに共有していきたいと思います!

では、またね〜✋


コメント

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