Pythonのprintの使い方を解説!改行やファイル出力もマスター

Pythonのprintは?

出力はプログラミングにおいて基本中の基本で、Pythonも例外ではありません。出力しないとコンソールやファイルで結果を確認できないため、多くの場合ソースコードの最後で出力処理を行います。

ただし、難しい点はないかと思います。プログラミング初心者でも出力でつまずくということはなく、決まった通り記述するだけです。基本の出力は簡単で、その他改行等でアレンジを加えた出力も難しくはないはずです。

プログラミングしていればprintコードは必ず使うので意識していなくても勝手に覚えるかと思いますが、最初にいろいろな出力処理を把握しておくと、今後使えるかもしれません。

そうは言っても今回の内容をすべて覚えておく必要はないので、気軽に読み進めてください。一応知っておいたら便利ということでprintに関するいろいろなコードを紹介しますが、流し見で良いかと思います。

ざっくりと何ができるのか、どうやってコーディングすれば良いのか、といったことを把握しておけば、あとは必要なコードはその都度調べれば問題ありません。

Pythonのprintの基本的な使い方

まずはprintの基本的な使い方を紹介します。サンプルコードは以下です。

sample = "Hello World!"
print(sample)

上記のソースコードを実行すると、以下のようにコンソール出力されます。

Hello World!

変数に文字列を格納し、それをprintで出力しました。その結果、変数のなかの文字列が表示されています。また、以下のように文字列を結合して出力することも可能です。

str1 = "Hello"
str2 = "World!"
print(str1 + ', ' + str2)

上記のコードを実行すると、同じようにHello World!と出力されます。

改行しないように出力する

printコードは複数行に渡って記述するとデフォルトでは改行されます。具体的には、以下のようになります。

print("a")
print("b")
print("c")

このコードを実行すると、以下のようになります。

a
b
c

一方で、以下のように記述すると、

print("a"),
print("b"),
print("c"),

次のように改行されずに横一列に出力されます。

a b c

何が違うかというと、printコードの後ろにカンマが入っています。

カンマが入ることによって、改行しないよう設定できます。なんとなくイメージ的には逆なような感じがしますが、カンマを入れると改行されないと覚えておいてください。

区切り文字を設定する

文字列と文字列の間に区切り文字を入れたい場合、以下のように記述します。

print(“a”, end=”,”)
print(“b”, end=”,”)
print(“c”)

上記のコードを実行すると、以下のようにコンソール出力されます。

a,b,c

カンマで区切って出力されました。

formatを使用する

formatメソッドを使用することで、数値型を文字列に続けて表示することができます。サンプルコードは以下です。

num1 = 1
num2 = 2
num3 = 3

print("No.1: {}".format(num1))
print("No.2: {}, No.3: {}".format(num2, num3))

上記のソースコードを実行すると、以下のようにコンソール出力されます。

No.1: 1
No.2: 2, No.3: 3

文字列の後ろに{}を記述し、最後に.formatを付けます。formatの引数には表示したい変数や数値を記述します。そうすると、自動的に数値型が文字列にうまい具合に結合して出力されました。

%を使用する

formatと同じことを%を使って実現することもできます。サンプルコードは以下です。

num1 = 1
num2 = 2
num3 = 3

print("No.1: %d" % num1)
print("No.2: %d, No.3: %d" % (num2, num3))

ソースコードの実行結果は以下です。

No.1: 1
No.2: 2, No.3: 3

formatのときとまったく同じ結果になりました。

%dが出力結果で数値を文字列に置き換える部位で、%が置き換える数値型変数の指定です。%で指定したものが、%dのところに出力されます。

ちなみに数値型の指定は%dですが、文字列の場合%sで指定します。

オブジェクトを表示する

次に、オブジェクトを表示してみます。例としてlistを使ったサンプルコードを見てみましょう。

list = [1, 2, 3, 4]
print(list)
print(list[0]) #リストの要素を番号で指定して表示
for num in list: #リストをfor文で回して、要素を一つずつ表示
print(num)

上記のソースコードを実行すると、以下のようにコンソール出力されます。

[1, 2, 3, 4]
1
1
2
3
4

まず1行目にはリストの一覧が表示されています。

リストのなかには4つの要素が格納されています。次に、2行目では0番目の要素である1が出力されました。3行目以降では、リストに格納されている要素が1行ずつ表示されました。

複数のオブジェクトを横に並べて出力したい場合、以下のように記述します。

list1 = [1, 2, 3, 4]
list2 = [5, 6, 7, 8]
print(list1, list2, sep=",") #二つのリストを表示

上記のコードを実行すると、以下のようにコンソール出力されます。

[1, 2, 3, 4],[5, 6, 7, 8]

一つのprintコードの引数に二つのオブジェクトをセットし、最後にセパレート文字を設定します。

ファイル出力の方法

printコードは何も設定しない場合コンソールにそのまま出力されますが、ファイル出力を指定することも可能です。

ファイル出力とは言葉の通りで、ファイルを作成して出力するということです。例として、テキストファイルで出力してみましょう。

file_text = open("sample.txt", "w") #sample.txtを開く
print("Hello World!", file=file_text) #sample.txtに"Hello World!"を書き込む
file_text.close() #sample.txtを閉じる

上記のコードを実行すると、Hello World!と記述された、sample.txtというファイルが作成されます。ファイルがなければ新たに作成され、ファイルがすでにある場合は書き換えられます。

まとめ

以上、print処理について解説してきました。

それほど難しい点はなかったかと思います。今回の内容を完璧に把握しておく必要はなく、極端に言えば%やformatについては忘れても問題ありません。

いったん今回の内容を把握し、何ができるかを頭の片隅に置いておけば良いかと思います。一回理解すれば今後忘れて調べたとしてもすぐに思い出して理解できるので、きっちり覚えるというよりはざっくり理解して把握しておけば問題ないでしょう。

特にprint処理はプログラミングしていれば必ず出てくるので、今意識的に覚えなくてもまったく問題ありません。print処理はだいたい把握できたかと思うので、次のループ処理や条件分岐処理にどんどん進んでいくと良いかと思います。

ある程度理解すれば、どんどん次のステップに進んでいくことで理解が深まっていきます。今の段階でprint処理がわかったようなわからないような腑に落ちないような状況であっても、学習を進めていけば「あのときの解説はそういうことだったのか」とわかってきます。

人気記事

編集部おすすめ記事

この記事を読んだ人はこんな記事を読んでいます