【Python】改行しないでprintする方法

PythonのTopに戻る


改行しないでprintする方法

・endを指定する
・sys.stdout.writeを使う

 

 endを指定する

Pythonのデフォルトでは、print関数は末尾に改行を含めて出力する。これをやめるにはオプション引数の end に空文字列を指定すれば良い(”\0″ としてNULLを指定しても同じ)。

print("hello", end="")
print("hello")
# hellohello

for i in range(1,11):
    print(i, end="")
    # 12345678910

なお、end には任意の文字列を指定できる。よく使われるのはカンマ(”, “)やタブ区切り(”\t”)などであるが、日本語なども指定できるので使いどころによっては意外と便利だったりする。

 

 sys.stdout.writeを使う

sysモジュールをインポートしてsys.stdout.write関数を使っても改行を取り除くことができる。これはPython2系でも利用できる方法である。

sys.stdout.write("hello")
sys.stdout.write("hello")
sys.stdout.write("hello")
# hellohellohello

PythonのTopに戻る