0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

print関数の超かっこいい使い方

Posted at

printって結構なんとなく使っていますが、関数なのです(知ってますよね:sweat_smile:)。
実は文字を表示する際に使える機能がいくつかあるので紹介したいと思います。
また、変数を気持ちよくかっこよくprint関数に入れて表示する方法を書いていきます!(こっちが本命です!)

print関数の引数

まず簡単にprintの引数で使えるものを紹介していきたいと思います。
sepとendです。
sepは文字列を区切るときの区切り文字を決めます。
endは表示文字列の末尾に挿入する文字列を決めます。
言葉だけだとよくわからないので、コードを書いてみましょう。
まずデフォルトの状態で表示してみます。

# デフォルト値で表示
a = 'Why you are so mean'
b = 'Because I like to be'
print(a, b, sep='', end='\n')
output
Why you are so meanBecause I like to be

いつも通りの構成で表示されましたね。 半角スペースを手動で入れないと、繋がってしまいますね。
デフォルトのsepとendの値は上記になっています。
キーワード引数なのでsep, endと指定しないと、表示する文字列として扱われます。
次にsepとendの値を少し変えて文字列間がつながらないようにして、改行をしないように変更してみましょう。

# sep=' - '
# end='\t'
a = 'I am mad at you'
b = 'why?'
c = 'You broke my phone yesterday night'
d = 'No you did when you got drunk'
sep = ' - '
print(a, b, sep=sep, end='\t')
print(c, d, sep=sep)
output
I am mad at you - why?	You broke my phone yesterday night - No you did when you got drunk

説明するために少し無理矢理感がありますが、、、
意図通りに表示することができました。
覚えておくと意外と使える場面があるかもしれませんね!

変数のいろいろな表示方法

変数を組み合わして文字を表示するときは上記の方法だと少し面倒な時が多いです。
ここではもうちょっとスマートに表示する方法を紹介していきます。

まずは.formatを使う方法

name = 'Tako'
age = 25
hobby = 'baseball'
f = 9.5
print('{0} {1} {2}'.format(name, age, hobby))
output
Tako 25 baseball

右揃え、中央揃え(padding)、小数点の表示

# 幅10の右揃え
print('右揃え')
print('{0:>10s} {1:>10d} {2:>10s}'.format(name, age, hobby))
# 幅10の中央揃え
# 隙間は+で埋める(padding)
print('\n中央揃え')
print('{0:+^10s} {1:+^10d} {2:+^10s}'.format(name, age, hobby))
# 中央揃えして小数点第五位まで表示
print('\n中央揃えで小数点第五位まで表示')
print('{0:^10.5f}'.format(f))
output
右揃え
      Tako         25   baseball

中央揃え
+++Tako+++ ++++25++++ +baseball+

中央揃えで小数点第五位まで表示
 9.50000  

fを使っての表示(正式名称がわかりません・・・)

print(f'Name:{name:^10s} Age:{age:^10d} hobby:{hobby:^15s}')
output
Name:   Tako    Age:    25     hobby:   baseball    

おまけ

pprintモジュールがあり自動的に綺麗に表示してくれます。
listやdictなどを自動的に改行を入れてみやすくしてくれます
例えば

from pprint import pprint
lst = [a, b, c, d]
print(lst)
pprint(lst)
output
['I am mad at you', 'why?', 'You broke my phone yesterday night', 'No you did when you got drunk']
['I am mad at you',
 'why?',
 'You broke my phone yesterday night',
 'No you did when you got drunk']

こんな感じです。興味のある方は調べてみてください

まとめ

簡単にですが、printの役立つ知識を紹介していきました。
正直print関数をガッツリ使うことはあんまりないかと思いますが、
.formatやfはstr型の変数を作る時にも使えるので、その時に使えそうです!

指摘ありましたらコメントお願いいたします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?