↓もし、良かったらSNSでの紹介よろしくお願いします。

【Python3】print関数の基本と意外と知られてない機能

bootstrap

print関数

msg = "Hello World!"
print(msg)

実行結果

Hello World!

改行しない

改行せずに変数を表示したい場合があります。
そのばあいは、end引数に空文字を入れる必要があります。

print("hoge",end="")
print("fuga")

実行結果

hogefuga

九九表を表示

上記の機能を利用して、次のように九九の表を表示します。

nums = range(1,10)
for a in nums:
    for b in nums:
        answer = a * b
        print(answer, end='|')
    print('')
    print('--------------------------')

実行結果

1|2|3|4|5|6|7|8|9|
--------------------------
2|4|6|8|10|12|14|16|18|
--------------------------
3|6|9|12|15|18|21|24|27|
--------------------------
4|8|12|16|20|24|28|32|36|
--------------------------
5|10|15|20|25|30|35|40|45|
--------------------------
6|12|18|24|30|36|42|48|54|
--------------------------
7|14|21|28|35|42|49|56|63|
--------------------------
8|16|24|32|40|48|56|64|72|
--------------------------
9|18|27|36|45|54|63|72|81|
--------------------------

改行を入れたい

逆に改行を入れてたい場合もあります。
この場合、エスケープ文字で改行を表す必要があります。

print("hoge\nfuga")

実行結果

hoge
fuga

フォーマットを利用して表示

単純な例の場合、プレースホルダを利用するのが簡単です。

print("%s,%s"%("hoge","fuga"))
# hoge,fuga

print("%d + %d = %d"%(2,3,(2+3)))
# 2 + 3 = 5

{引数の番号}でformatで与えた引数を表示する方法もあります。

print("{0} {0} {1}".format("hoge","fuga"))
# hoge hoge fuga

引数の値を展開する方法

print("I'm {first_name} {last_name}.".format(first_name="Taro", last_name="Tanaka"))
# I'm Taro Tanaka.

Python3.6からフォーマット文字列がさらに便利に

上記のフォーマット文字列はformatをつけて変数名を指定する必要があるので
冗長に思えるかもしれません。Python3.6からはフォーマット文字列が使いやすくなっています。
文字列にfをつけると変数の展開を行ってくれます。

a = 2
b = 3
print(f"{a} + {b} = {a + b}")
# 2 + 3 = 5

複数の変数を一度に表示

printの引数を複数与えることで一度に多くの変数を表示できます。

a = 2
b = 3
msg1 = "hoge"
msg2 = "fuga"
print(a, b, msg1, msg2)
# 2 3 hoge fuga

sepで区切りを指定することもできます。

print(a, b, msg1, msg2, sep=",")
# 2,3,hoge,fuga