Pythonのprintで変数の中身を出力するいろいろな方法

Pythonやプログラミングの初心者にとって、printでさまざまなな出力を試してみるのは必ず通る道です。そこで、変数を一個出力したり、複数出力したりして、色々なパターンを解説します。

また、学習が進んできた際の参考として、中級以上の操作方法も含めているので、ぜひ参考にしてみてください。

それでは早速見ていきましょう。

目次

1. printで変数の中身を出力する方法

print関数で変数の中身を出力する方法は簡単です。次のようにprint()の括弧の中に出力したい変数を入力するだけです。

簡単ですね。

ちなみに、このように関数の括弧()の中に何らかの変数やデータを書くことを、「関数の引数(ひきすう)に○○を渡す」といいます。

渡せるデータが複数の時は、最初から数えて、第一引数、第二引数、第三引数と言います。引数の間はカンマ(,)で区切る必要があります。

print関数で変数を出力するための基礎知識としては、これだけ押さえておけば十分です。それでは、これから様々な変数をprint関数で出力してみましょう。

2. printで文字列変数を出力する

それでは、最初に文字列を代入した変数をprint関数で出力してみましょう。なお文字列については『Pythonの文字列操作に関して初心者が抑えておくべき全記事まとめ』で確認しておいてください。

2.1. 文字列変数を1つprintする

以下のコードは、文字列変数 text をprint関数に渡したものです。

In [1]:
'''文字列変数の出力'''
text = 'これは文字列です。' #変数 text に文字列を代入します。
print(text) #print関数の括弧()の中に出力したい変数を入れます。
これは文字列です。

文字列変数 text の中身、「これは文字列です。」が出力されましたね。このように、文字列変数をprint関数の引数に渡すと、中身の文字列が出力されるのです。

2.2. 文字列変数を複数printする

次に、複数の文字列変数を同時にprint関数に渡してみましょう。以下をご覧ください。

In [2]:
'''print関数に複数の文字列変数を同時に渡すこともできます。'''
text_a = 'おはよう。'
text_b = 'こんにちは。'
text_c = 'おやすみ。'
print(text_a, text_b, text_c) #変数の間をカンマ(,)で区切ります。
おはよう。 こんにちは。 おやすみ。

print関数の第一引数にtext_a、第二引数にtext_b、第三引数にtext_cを渡しました。結果、それぞれが半角スペース分の空白を開けて、一行で出力されましたね。

なお、次のように、変数ごとに縦に並べて書いても大丈夫です。変数名が長くて、縦にした方が見やすい場合は積極的に使いましょう。コードを誰から見ても見やすいように書くのは開発の現場では必須のスキルです。

In [3]:
'''このように縦に入れても大丈夫です。'''
print(text_a,
          text_b,
          text_c)
おはよう。 こんにちは。 おやすみ。

以上のように、一つのprint関数に複数の文字列変数を渡すと一行で出力されます。一方で、以下のように、print関数を続けて書くと、変数の中身は改行された上で出力されます。

In [4]:
'''一つずつprintすると改行して出力されます。'''
print(text_a)
print(text_b)
print(text_c)
おはよう。
こんにちは。
おやすみ。

2.3. [中級編]文字列変数のさまざまなprint方法

まずは、ここまで覚えておきましょう。中級編として、文字列を空白や改行なしで出力する方法があります。以下をご覧ください。

In [5]:
'''空白や改行なしで複数の文字列を出力するにはいくつか方法があります。'''
#方法① 文字列を連結する。
print(text_a+text_b+text_c)
#方法② オプション引数 end='' を使う。
print(text_a, end='')
print(text_b, end='')
print(text_c)
#方法③ formatメソッドを使う。
print('{}{}{}'.format(text_a, text_b, text_c))
#方法④ fプリフィクスを使う。
print(f'{text_a}{text_b}{text_c}')
おはよう。こんにちは。おやすみ。
おはよう。こんにちは。おやすみ。
おはよう。こんにちは。おやすみ。
おはよう。こんにちは。おやすみ。

これを使いこなすと、柔軟な文字列操作ができるようになります。

In [1]:
#柔軟な文字列操作
text_a = 'おはよう'
text_b = 'こんにちは'
text_c = 'おやすみ'
#formatメソッド
print('朝の挨拶は{}、昼の挨拶は{}、夜の挨拶は{}です。'.format(text_a, text_b, text_c))
#fプリフィクスの方がすっきりとしたコードになります。
print(f'朝の挨拶は{text_a}、昼の挨拶は{text_b}、夜の挨拶は{text_c}です。')
朝の挨拶はおはよう、昼の挨拶はこんにちは、夜の挨拶はおやすみです。
朝の挨拶はおはよう、昼の挨拶はこんにちは、夜の挨拶はおやすみです。

初心者の場合は、これらはまだ理解できなくても大丈夫です。それぞれ

で解説していますので、一つずつ学習していきましょう。

3. printでリスト変数やタプル変数を出力する

次にリストやタプルを代入した変数をprint関数で出力してみましょう。リストとタプルのprint関数での扱いは全く同じなので、ここではリストを使って解説します。

なおリストやタプルについては、

で解説していますのでご確認ください。

3.1. リスト変数を1つprintする

以下のコードでは、リスト変数 listをprint関数で出力しています。

In [1]:
'''リスト変数の出力'''
list = ['りんご', 'みかん', 'いちご']#変数 list にリストを代入します。
print(list) #print関数の括弧()の中に出力したい変数を入れます。
['りんご', 'みかん', 'いちご']

このように、リストの中身が表示されます。

3.2. リスト変数を複数printする

文字列変数と同様に、複数のリスト変数を、同時にprint関数に渡すことができます。

In [2]:
'''print関数に複数のリスト変数を同時に渡すこともできます。'''
list_a = ['りんご', 'みかん', 'いちご']
list_b = ['きゃべつ', 'だいこん', 'はくさい']
list_c = ['おはし', 'ナイフ', 'フォーク']
print(list_a, list_b, list_c) #変数の間をカンマ(,)で区切ります。
['りんご', 'みかん', 'いちご'] ['きゃべつ', 'だいこん', 'はくさい'] ['おはし', 'ナイフ', 'フォーク']

もちろん、縦に書いても問題ありません。

In [3]:
'''このように縦に入れても大丈夫です。'''
print(list_a,
          list_b,
          list_c)
['りんご', 'みかん', 'いちご'] ['きゃべつ', 'だいこん', 'はくさい'] ['おはし', 'ナイフ', 'フォーク']

文字列変数と同じく、リスト変数を一つずつprint関数で出力すると改行されて表示されます。

In [4]:
'''一つずつprintすると改行して出力されます。'''
print(list_a)
print(list_b)
print(list_c)
['りんご', 'みかん', 'いちご']
['きゃべつ', 'だいこん', 'はくさい']
['おはし', 'ナイフ', 'フォーク']

リストを+演算子で連結させると、次のように、全てが一つのリストとなって出力されます。

In [5]:
'''リストを+で連結すると全てが一つのリストになって出力されます。'''
print(list_a+ list_b+list_c)
['りんご', 'みかん', 'いちご', 'きゃべつ', 'だいこん', 'はくさい', 'おはし', 'ナイフ', 'フォーク']

なお、リストの中の任意の要素だけ出力したい場合は、スライスという操作を行います。スライスについては『Pythonのリストのスライスと分割の方法まとめ』をご覧ください。

それでは次のコードを確認しましょう。

In [6]:
'''リスト内の特定の要素だけ出力したい場合は[]を使います。'''
print(list_a[0]) #list_aのインデックス番号1番の要素
print(list_b[2]) #list_bのインデックス番号3番の要素
print(list_c[1:])#list_cのインデックス番号1番以降の要素
りんご
はくさい
['ナイフ', 'フォーク']

このように、リストの中の要素を一つだけ出力する場合は括弧[]はつきません。リストの中の要素を複数出力した場合は括弧[]がつきます。

しかし、次のように、別の引数として渡した場合は、[]なしで出力されます。

In [7]:
'''それぞれ別の引数として渡した場合は[]なしで出力されます。'''
print(list_b[2], list_b[0], list_a[1], list_c[2])
はくさい きゃべつ みかん フォーク

まずは、ここまでをしっかりと抑えておきましょう。

3.3. [中級編]リスト変数のさまざまなprint方法

中級編として、文字列変数と同じ方法で空白や改行をなくすことができます。

In [8]:
'''空白や改行なしで複数のリストを出力するにはいくつか方法があります。'''
#方法① リストの要素を連結する。
print(list_a[1]+list_b[0]+list_c[1])
#方法② オプション引数 end='' を使う。
print(list_a[0], end='')
print(list_b[2], end='')
print(list_c[1])
#方法③ formatメソッドを使う。
print('{}{}{}'.format(list_a[0], list_b[0], list_c[0]))
#方法④ fプリフィクスを使う。
print(f'{list_a[2]}{list_b[0]}{list_c[0]}')
みかんきゃべつナイフ
りんごはくさいナイフ
りんごきゃべつおはし
いちごきゃべつおはし

これは、例えば次のように使うことができます。

In [1]:
#使いこなすと色々な操作ができます。
list_a = ['りんご', 'みかん', 'いちご']
list_b = ['きゃべつ', 'だいこん', 'はくさい']
list_c = ['おはし', 'ナイフ', 'フォーク']
#formatメソッド
print('{}は果物、{}は野菜、{}は食器です。'.format(list_a[0], list_b[1], list_c[2]))
#fプリフィクスの方がすっきりしたコードになります。
print(f'{list_a[0]}は果物、{list_b[1]}は野菜、{list_c[2]}は食器です。')
りんごは果物、だいこんは野菜、フォークは食器です。
りんごは果物、だいこんは野菜、フォークは食器です。

こちらも、それぞれ

でご確認ください。焦らず一つずつ学習していきましょう。

4. printで辞書変数を出力する

続いて、辞書を代入した変数をprint関数で出力してみましょう。なお、辞書については『Pythonの辞書(Dictionary)の作り方とポイントまとめ』をご覧ください。

それでは早速見ていきましょう。

4.1. 辞書変数を1つprintする

辞書変数をprint関数で出力すると、辞書の中身がそのまま表示されます。

In [1]:
'''辞書変数の出力'''
dict = {'key1': 'マック', 'key2':'ウインドウズ', 'key3':100} #変数dictに辞書を代入します。
print(dict) #print関数の括弧()の中に出力したい変数を入れます。
{'key1': 'マック', 'key2': 'ウインドウズ', 'key3': 100}

4.2. 辞書変数を複数printする

複数の辞書を同時にprint関数の引数に渡した場合、それぞれの辞書が一行で出力されます。

In [2]:
'''print関数に複数の辞書変数を渡してみましょう。'''
dict_1 = {'key1': 'マック', 'key2':'ウインドウズ', 'key3':100}
dict_2 = {1:'iPhone', 2:'iPad', 3:'デスクトップPC', 4:'ノートPC'}
dict_3 = {'type1':'パソコン', 'type2':'ウォッチ', 'type3':'okGoogle'}
print(dict_1, dict_2, dict_3) #変数の間をカンマ(,)で区切ります。
{'key1': 'マック', 'key2': 'ウインドウズ', 'key3': 100} {1: 'iPhone', 2: 'iPad', 3: 'デスクトップPC', 4: 'ノートPC'} {'type1': 'パソコン', 'type2': 'ウォッチ', 'type3': 'okGoogle'}

文字列やリスト、タプルと同じく縦に書いても問題ありません。

In [3]:
'''縦に書いても大丈夫です。'''
print(dict_1,
          dict_2,
          dict_3)
{'key1': 'マック', 'key2': 'ウインドウズ', 'key3': 100} {1: 'iPhone', 2: 'iPad', 3: 'デスクトップPC', 4: 'ノートPC'} {'type1': 'パソコン', 'type2': 'ウォッチ', 'type3': 'okGoogle'}

また、次のように、辞書変数を一つずつ、別々のprint関数で出力すると、改行された上で表示されます。

In [4]:
'''一つずつprintすると改行して出力されます。'''
print(dict_1)
print(dict_2)
print(dict_3)
{'key1': 'マック', 'key2': 'ウインドウズ', 'key3': 100}
{1: 'iPhone', 2: 'iPad', 3: 'デスクトップPC', 4: 'ノートPC'}
{'type1': 'パソコン', 'type2': 'ウォッチ', 'type3': 'okGoogle'}

辞書の中の任意の要素だけ出力したい場合は、次のように[]の中に対応するキーを指定します。これは『Pythonの辞書(dict)のキーの存在や値を調べたり取り出したりする方法まとめ』で解説しているので、ぜひご確認ください。

In [5]:
'''辞書内の特定の要素だけ出力したい場合は[]の中に対応するキーを指定します。'''
print(dict_1['key2'])     #dict_1の'key2'に対応する要素を呼び出す。
print(dict_2[4])             #dict_2の4に対応する要素を呼び出す。
print(dict_3['type1'])#dict_3の'type1'に対応する要素を呼び出す。
print(dict_1['key2'], dict_3['type1']) #複数の辞書の要素を引数に渡す。
ウインドウズ
ノートPC
パソコン
ウインドウズ パソコン

まずは、ここまでをしっかりと抑えておきましょう。

4.3. [中級編]辞書変数のさまざまなprint方法

ここから中級編ですが、文字列やリスト、タプルと同じく、空白や改行なしで出力するには次の方法があります。

In [6]:
'''空白や改行なしで複数の辞書の要素を出力する方法'''
#方法①オプション引数 end=''
print(dict_1['key2'], end='') 
print(dict_2[4], end='') 
print(dict_3['type1'])
#方法②formatメソッド
print('{}{}{}'.format(dict_1['key1'], dict_2[4], dict_3['type1']))
#方法③ fプリフィクス
print(f"{dict_3['type1']}{dict_1['key2']}{dict_1['key1']}")
ウインドウズノートPCパソコン
マックノートPCパソコン
パソコンウインドウズマック

これらを使いこなすと、次のように様々な操作ができるようになります。

In [7]:
'''次のように使うことができます。'''
#formatメソッド
print("{0[type1]}{1[key2]}{1[key1]}のどちらが好きですか?".format(dict_3, dict_1))
#fプリフィクスの方がすっきりとしたコードが書けます。
print(f"{dict_3['type1']}{dict_1['key2']}{dict_1['key1']}のどちらが好きですか?")
パソコンはウインドウズとマックのどちらが好きですか?
パソコンはウインドウズとマックのどちらが好きですか?

同じく、

で学習しましょう。

ちなみに、細かいですが、辞書は、文字列やリスト、タプルと違って、+演算子で連結することはできません。次のようにタイプエラーになります。

In [8]:
'''辞書は連結することはできません。'''
print(dict_1+dict_2+dict_3) 
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-19-e459ef52328e> in <module>
      1 '''辞書は連結することはできません。'''
----> 2 print(dict_1+dict_2+dict_3)

TypeError: unsupported operand type(s) for +: 'dict' and 'dict'

5. まとめ

いかがだったでしょうか。

まずは、文字列やリスト/タプル、辞書の変数を、print関数で出力した時に、どのように表示されるのかを抑えるところから始めましょう。そして、慣れていったら、文中で触れているformatメソッドやfプリフィクスも学習してみてください。

初心者の時は、なんだか難しそうに見えますが、コードを毎日書いていたら、やがてすんなりと理解できるようになっているものです。焦らず、一つずつマスターしていきましょう。



よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次
閉じる