Pythonのprint()関数で、文字列や数値を続けて出力した場合、次のように改行して出力するのがデフォルトです。
text_a = "abc"
text_b = "def"
#print()関数を並べると改行されて表示されます。
print(text_a)
print(text_b)
しかし複数の文字列や数値を、改行なしで一行で出力したい時もあるでしょう。そこで、ここでは、print()関数で複数の文字列を改行なしで出力する方法を列挙します。
Pythonでprint関数を使う時の改行については、他にも『Pythonのprint関数で改行して出力する方法まとめ』と、『Pythonのprintのendのよくある3つの使い方』でも扱っていますので、ぜひ併せてご確認ください。
1. print関数に複数の文字列を同時に渡す
print()関数に複数の文字列オブジェクトを同時に渡すと一行で出力されます。
#print()関数に複数の文字列オブジェクトを引数として渡します
print(text_a, text_b)
ただし、このやり方だと、文字列の間に空白(半角スペース)が自動的に挿入されてしまいます。空白なしで出力するには、print関数のオプション引数である「end=”」を使います。
2. print関数のオプション引数 end=” を使う
次のように、print()関数のオプション引数 end=”” を渡すことで、次のように出力することができます。このやり方だと文字列オブジェクトの間に半角スペースは入りません。
#オプション引数の'end'を空で渡すと改行なしになります。
print(text_a, end="")
print(text_b)
この方法で半角スペースを入れたい場合は、オプション引数を end =” ” として半角スペースを空けておきます。
#文字列の間に半角スペースを入れたい場合は、end引数で指定します。
print(text_a, end=" ")
print(text_b)
オプション引数の「end=”」については『Pythonのprintのendのよくある3つの使い方』でより詳しく解説しています。
もちろん変数ではなく、文字列を直接print関数に打ち込む時も同様です。
print("abc")
print("def")
print("abc", "def")
print("abc", end="")
print("def")
print("abc", end=" ")
print("def")
3. 文字列を結合して一行で出力する
二つの文字列オブジェクトを+演算子で結合して一行で出力することもできます。二つの文字列の間に半角スペースを入れたい場合は、それも忘れずに連結しましょう。
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)
なお、複数の文字列を結合する場合に、ベストの方法はfプリフィクスというものを使ったものです。次のコードをご覧ください。
#文字列の連結のいちばん良い書き方はこれです。
text_c = 'わたしは'
text_d = 'からいものが'
text_e = '苦手です。'
print(f'{text_c}{text_d}{text_e}')
この書き方が、もっともコンピュータに対する負荷が少なくなります。こうした知識は大量のコードを書くプログラムになるほど重要になります。『Pythonで文字列を連結/結合する方法まとめ』で、いろいろと解説していますので、ぜひご確認ください。
5. 末尾に改行コード’\n’がある文字列を改行なしで出力する
もともとの文字列に改行コード’\n’がある場合、上で解説したどの方法を行っても改行なしで出力することはできません。
#末尾に改行コード'\n'が入っている文字列
text_g = "This is a \n"
text_h = "test string."
#print()関数に二つの文字列オブジェクトを同時に渡す。
print(text_g, text_h)
#オプション引数end=""を渡す
print(text_g, end="")
print(text_h)
#演算子で結合する
text_i = text_g + text_h
print(text_i)
この場合は、次のようにrstrip()メソッドで改行コードを削除してから出力すると、改行なしで一行で表示することができます。
#末尾の改行コードはrstrip()メソッドで削除できます。
print(text_g.rstrip(), text_h)
#オプション引数end=""
print(text_g.rstrip(), end=" ")
print(text_h)
#演算子で結合する
text_i = text_g.rstrip() + text_h
print(text_i)
特に困難なところはありませんね。状況に応じて使い分けましょう。
コメント