入出力関数を使いこなす
このページでは、コンソール入出力(printやinput機能)の方法をまとめておく。
注意事項
Python 2 と Python 3では、細かな仕様がいろいろと変わっているので、注意が必要。以下の表に示した例はPython 3の使用を想定している。
Python 2で、行末の改行無しで文字列を出力したい場合は
import sys sys.stdout.write("文字列")
のように記述すればよい。"文字列"の箇所を、以下の例のように、"x={0}".format(x)
のように記述することで、書式設定も可能である。
print( )の書式設定の例
記 述 例 (a = 123, x = 123.45678 の場合) |
出 力 結 果 | 備 考 |
---|---|---|
print("abc") print("def") |
abc[改行] def[改行] |
出力の最後に改行が加わる |
print("abc",end="") print("def",end="") |
abcdef |
改行なしの例 |
print("abc","def") |
abc def[改行] |
複数項目を続けてプリント 間に区切り文字(スペース)が入る |
print("abc","def",sep="") |
abcdef[改行] |
項目の区切りを無くする |
print("a={0} x={1}".format(a,x)) |
a=123 x=123.45678[改行] |
{0}がa, {1}がxに対応。 |
print("a={0:05}".format(a)) |
a=00123[改行] |
"{番号:0桁数}で、対応する番号のデータを指定の桁数で表示 (空いた桁は0を埋める) |
print("a={0:5}".format(a)) |
a= 123[改行] |
"{番号:m}"で m 桁表示 |
print("a={0:x}".format(a)) |
a=7b[改行] |
"{番号:x}"で16進数表示 |
print("x={0:010.3f}".format(x)) |
x=000123.457[改行] |
"{番号:0m.nf}"で、全体をm桁、うち、小数点以下をn桁で表示。 空いた桁は0で埋める。 |
print("x={0:10.3f}".format(x)) |
x= 123.457[改行] |
"{番号:m.nf}"で、全体をm桁、うち、小数点以下をn桁で表示。 |
print("x={0:.1f}".format(x)) |
x=123.5[改行] |
"{番号:.nf}"で、小数点以下をn桁で表示。 |
print("{{{0}}}".format(x)) |
{123.45678}[改行] |
"{{" で {、 "}}" } を表示 |
print("x={0:e}".format(x)) |
x=1.234568e+02[改行] |
"{番号:e}"で指数表示。e+02は10の2乗という意味。 |
input( ) の記述例
記 述 例 (a,bは整数, xは実数とする) |
キー入力 | 結 果 |
a,b=map(int,input().split()) |
123 456[改行] |
a=123 b=456 |
b,a=map(int,input().split()) |
123 456[改行] |
a=456 b=123 |
data=input().split() a=int(data[0]) x=float(data[1]) |
123 3.1415[改行] |
a=123 x=3.1415 |
a=int(input("a=")) |
a=123[改行] |
a=123 |