2010/10/08 (Fri)
バージョン2.6/3.0系以上のPythonにおけるprint()関数に関するメモ(前半)
バージョン2系までのPythonでは端末の標準出力や標準エラー出力に改行付きでデータを表示する(書き出す)のにprint文を用いて
(標準出力への書き出し) print [文字列] (標準エラー出力への書き出し) import sys print >> sys.stderr, [文字列]
のようにしていたが、バージョン3系ではこのprint文という文法は廃止されてprint()という関数を用いるようになっている。
書式
簡単な出力
旧バージョンのprint文を置き換える使い方としては下のようになる。
(標準出力への書き出し) print([文字列]) (標準エラー出力への書き出し) import sys print([文字列], file=sys.stderr)
キーワード引数fileは標準エラー出力のときにsys.stderrを指定する(別途sysモジュールのimport処理が必要)が、ここには文字列の引数を1つ取るwrite()というメンバ関数を持つオブジェクトであれば他のものを入れることもできる。
複数の文字列や値を連結
print()関数は複数の引数(型は混合可)を受け取ってそれを特定の文字で区切って連結して出力することができる。その際の区切り文字列はキーワード引数sepで指定できる。
>>> print (1, '2', 3.0, sep=' and ') 1 and 2 and 3.0
最後の改行を変更する
出力の最後に改行を付けたくなければキーワード引数end(既定値は「\n」)を空白に書き換える。他の文字列にしたければそのようにendの値を指定する。
>>> print ('ABCD', end=''); print ('EFG') ABCDEFG
この例では「ABCD」の後ろに改行が付かずに次の「EFG」が続いている。
(「バージョン2.6/3.0系以上のPythonにおけるprint()関数に関するメモ(後半)」に続く)
関連記事:
使用したバージョン:
- Python 2.6.5, 3.1.2
トラックバック - http://d.hatena.ne.jp/kakurasan/20101008/p1
リンク元
- 55 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cts=1331610917960&ved=0CCYQFjAA&url=http://d.hatena.ne.jp/kakurasan/20101008/p1&ei=I8VeT8juCovLrQfPzrHyBQ&usg=AFQjCNEOZhD0qsXsj4zBNqvOapaHnLamvA
- 24 http://pipes.yahoo.com/pipes/pipe.info?_id=993a58e44d18946535236098e544d295
- 22 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CDcQFjAB&url=http://d.hatena.ne.jp/kakurasan/20101008/p1&ei=0l9sT67FGKLSmAWI1vSJBg&usg=AFQjCNEOZhD0qsXsj4zBNqvOapaHnLamvA&sig2=apjto3w9mfGtpOT3yl0-Yw
- 16 http://www.google.co.jp/url?sa=t&rct=j&q=python print関数&source=web&cd=4&ved=0CEEQFjAD&url=http://d.hatena.ne.jp/kakurasan/20101008/p1&ei=_mSvTtaZGe7wmAX-ja2cAg&usg=AFQjCNEOZhD0qsXsj4zBNqvOapaHnLamvA
- 13 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CGoQFjAC&url=http://d.hatena.ne.jp/kakurasan/20101008/p1&ei=CHy4T9agDsTHmQWAlKHjDQ&usg=AFQjCNEOZhD0qsXsj4zBNqvOapaHnLamvA&sig2=JIdWrAdYLrcPoc48LaqRmg
- 9 http://www.google.co.jp/url?sa=t&rct=j&q=python print 関数&source=web&cd=4&ved=0CDoQFjAD&url=http://d.hatena.ne.jp/kakurasan/20101008/p1&ei=WkDOTo-sGo3ImQXm173QDQ&usg=AFQjCNEOZhD0qsXsj4zBNqvOapaHnLamvA
- 8 http://www.google.co.jp/url?sa=t&rct=j&q=python print 標準エラー&source=web&cd=3&sqi=2&ved=0CC4QFjAC&url=http://d.hatena.ne.jp/kakurasan/20101008/p1&ei=sRgUT-37PIXNmAXRn4z8Aw&usg=AFQjCNEOZhD0qsXsj4zBNqvOa
- 7 http://www.google.co.jp/url?sa=t&rct=j&q=python+print+標準エラー出力&source=web&cd=1&ved=0CB0QFjAA&url=http://d.hatena.ne.jp/kakurasan/20101008/p1&ei=LfPNTuTpJIPJmAWWsoWqDQ&usg=AFQjCNEOZhD0qsXsj
- 6 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CE8QFjAD&url=http://d.hatena.ne.jp/kakurasan/20101008/p1&ei=t5RhT4qtHIn4mAWZ-u2QCA&usg=AFQjCNEOZhD0qsXsj4zBNqvOapaHnLamvA&sig2=txIi15eqjkRBdWmD8tmn-w
- 5 http://www.google.co.jp/