Python3一行では、文字列や数値などのデータの出力にはprint関数を使うようになりました。
ここではprint関数の基本書式に加えて、特に重要な以下の4つの点を解説します。
- print関数でデータの値を出力する方法
- print関数で変数のデータを出力する方法
- 出力の際に区切り文字を挿入する方法
- 出力の際に末尾文字を挿入する方法
- print関数の改行の扱いについて
早速見ていきましょう。
1. Pythonのprint関数の基本書式
まず、Pythonのprint関数の基本書式は以下の通りです。
print('出力したい値')
括弧()の中に値を書くと、それが出力されます。なお、関数の()の中に入れる値を「引数(ひきすう)」といいます。そして、引数に値を書くことを「関数に引数を渡す」といいます。
これを図にすると以下のようになります。
Pythonのprint関数では、様々なデータを出力することができます。実際に例を見ていきましょう。
1.1. 引数にデータを直接書いてprint
1.1.1. 数値のprint
まずは数値です。数値の基礎については『初心者のためのPythonの数値計算の基礎知識』をご覧ください。
#数値を出力します。
print(100)
print関数の引数に渡した値が出力されていますね。引数に計算式をそのまま書くこともできます。
#引数に計算式を書く。
print(100+100)
print(10*10)
print(2**3)
print(100-3*30)
ご覧のように引数に渡した計算式の結果が出力されます。
1.1.2. 文字列のprint
次に文字列です。文字列の基礎については『初心者のためのPythonの文字列操作の基本』をご覧ください。
#文字列を出力します。
print('これは文字列です。')
引数に渡した文字列がそのまま出力されます。
1.1.3. リストのprint
そしてリストです。リストの基礎は『初心者のためのPythonのリストの作成方法まとめ』でご確認ください。
#リストを出力します。
print(['みかん', 'りんご', 'いちご'])
引数に渡したリストがそのまま出力されます。
1.1.4. タプルのprint
以下がタプルです。タプルの基礎は『初心者のためのPythonのタプルの基本操作とポイントまとめ』です。
#タプルを出力します。
print(('きゅうり', 'にんじん', 'とまと'))
引数に渡したタプルがそのまま出力されます。
1.1.5. 辞書のprint
最後に辞書です。辞書の基礎は『初心者のためのPythonの辞書の基本と作成方法まとめ』をご覧ください。
#辞書を出力します。
print({'住所':'東京', '年齢':34, '職業':'パイソニスタ'})
引数に渡した辞書がそのまま出力されます。
ここまで見てきたように、print関数は、引数に渡したデータをそのまま出力してくれます。
1.2. 引数に変数を書いてprint
引数に変数を書いて、変数の中身をprintすることもできます。見ていきましょう。
1.2.1. 数値を代入した変数のprint
#数値を代入した変数を出力します。
num = 100
print(num)
次のように変数での計算も行えます。
#数値を代入した変数同士での計算
num_1 = 100
num_2 = 10
print(num_1 + num_2)
print(num_1 * num_2)
print(num_1 / num_2)
1.2.2. 文字列を代入した変数のprint
#文字列を代入した変数を出力します。
text = 'これは文字列です。'
print(text)
1.2.3. リストを代入した変数のprint
#リストを代入した変数を出力します。
list = ['みかん', 'りんご', 'いちご']
print(list)
1.2.4. タプルを代入した変数のprint
#タプルを代入した変数を出力します。
tuple = ('きゅうり', 'にんじん', 'とまと')
print(tuple)
1.2.5. 辞書を代入した変数のprint
#辞書を出力します。
dict = {'住所':'東京', '年齢':34, '職業':'パイソニスタ'}
print(dict)
なお『Pythonのprintで変数の中身を出力するいろいろな方法』では、このページの解説よりもさらに踏み込んで、さまざまな変数の出力方法を解説していますので、ぜひご確認ください。
2. Pythonのprint関数のオプション引数
ここからprint関数のオプション引数について解説します。オプション引数とは、出力するデータ以外の引数で、出力の仕方を指定するものです。
例えば、下図をご覧ください。
引数に渡している text_a と text_b はどちらも出力したいデータの値です。後の二つは出力したいデータではなく、出力のされ方を指定するものです。そのため、「オプション引数」といいます。
なお、関数の引数は、前から第一引数、第二引数というように呼びます。それでは、オプション引数について解説していきます。
2.1. 区切り文字を指定するオプション引数 sep=”
sep=”は、print関数の引数に複数のデータの値を渡す時、その値の間を区切る文字を指定するものです。次のように書きます。
#オプション引数 sep='' の書きかた
print(値1, 値2, 値3, sep='挿入したい区切り文字')
実際に見る方が理解が簡単なので、早速見ていきましょう。まず、print関数の引数に複数の値を渡すと、次のように、値の間に空白(半角スペース)が入った上で出力されます。
#変数に数値を代入します。
a = 100
b = 200
c = 300
#一緒にprint関数の引数に渡すと、それぞれの値の間に空白が入ります。
print(a, b, c)
sep=” で区切り文字を指定することで、空白の代わりに別の文字を挿入することができます。次のコードをご覧ください。
#区切り文字を使うと、より見やすくすることができます。
print(a, b, c, sep=',') #カンマで区切ります。
print(a, b, c, sep=', ') #カンマ+半角スペースで区切ります。
print(a, b, c, sep='_')#アンダーバーで区切ります。
このように、指定した文字で値の間を区切ることができます。
文字列の場合も見てみましょう。区切り文字を指定しない場合、次のように文字列の間に空白が入った上で出力されます。
#文字列に変数を代入します。
a = 'ユニクロ'
b = 'アローズ'
c = 'ビームス'
#一緒にprintするとこうなります。
print(a, b, c)
ここに sep=” で別の区切り文字を入れることができます。以下をご覧ください。
#区切り文字をいれてみましょう。
print(a, b, c, sep='と')
print(a, b, c, sep='か')
簡単ですね。
2.2. 末尾の文字を指定するオプション引数 end=”
次に、末尾に任意の文字を挿入するオプション引数 end=” を見ていきましょう。以下が基本書式です。
#オプション引数 end='' の基本書式
print(値, end='')
第一引数に出力したい値を書いて、その後にオプション引数 end=” を書きます。
実際に見てみましょう。以下では、普通に文字列変数 text をprintで出力しています。
#まず普通に文字列を出力してみましょう。
text = 'あなたはカレーが好きです'
print(text)
オプション引数 end=” を使って、この文字列を疑問文に変えてみましょう。
#末尾に疑問形である「か?」という文字列を追加します。
print(text, end='か?')
いかがでしょうか。見事に変わりましたね。
なお、オプション引数 end=” には、これ以外にもよく見られる便利な使いかたがあります。『Pythonのprintのendのよくある3つの使い方』で解説していますので、併せてご確認ください。
3. print関数の改行について
続いて、悩まれる人が多いprint関数の改行の扱いについて説明します。
3.1. print関数で改行した上で出力する
printで出力する際に、改行して表示したい時もあります。その時は、次のように改行コード \n を使います。
#''\n'で改行です。
print("This is a\ntest string.")
コード上のみで改行して、出力の時は改行を反映したくない時は \ を使います。
#コード上のみで改行する場合は'\'を使います
print("This is a \
very long \
very very long \
string.")
コード上でも、出力上でも改行したい場合は、クオートを前後に3つ繋げて文字列を入力します(ダブルクオートでもシングルクオートでも構いません)。
#クオート ' を前後に3つずつ繋げるとコード上でも出力上でも改行です。
text_p = """this is not a
very long
string."""
#確認しましょう。
print(text_p)
これらは『Pythonのprintで改行して出力する方法まとめ』で詳しく解説していますので、そちらでご確認ください。
3.2. print関数で改行しないで出力する
Pythonでprint関数を続けて実行すると、一つ一つの改行の上で出力されるのがデフォルトです。
以下をご覧ください。
text_a = "abc"
text_b = "def"
#print()関数を並べると改行されて表示されます。
print(text_a)
print(text_b)
これ防ぐには複数の方法があります。
まずは、関数に複数の値を同時に渡す方法です。
#print()関数に複数の文字列オブジェクトを引数として渡します
print(text_a, text_b)
次に、上で解説したオプション引数 end=” を応用的に使う方法です。
#オプション引数の'end'を空で渡すと改行なしになります。
print(text_a, end="")
print(text_b)
そして+演算子で連結する方法です。
text_c = "This is a"
text_d = "test string."
#単純に+演算子で結合すると…
text_e = text_c + text_d
print(text_e)
#半角スペースも同時に結合しましょう。
text_f = text_c + " " + text_d
print(text_f)
これらは『Pythonのprintで改行しないで出力する方法まとめ』で詳しく解説していますので、そちらでご確認ください。
4. まとめ
いかがだったでしょうか?
Python3では、print()関数を使って文字列を出力するようになりました。
また、オプション引数の sep=” や end=” を使うと、見た目をキレイに整えることができます。またここでは触れていませんが、『Pythonのprintのformatで知っておきたい操作まとめ』で解説しているformatメソッドやfプリフィクスを知っておくと、さらにさまざまな操作をすることができます。
焦らず、一つずつ、地道に学習していきましょう。
コメント