Python 3000 has come!
2日遅れ.
いろいろと地味によくなってる感じ.とりあえず自分用まとめ.
詳しくはこっち.http://docs.python.org/3.0/whatsnew/3.0.html
print 文 -> print 函数
これがいちばん有名.
# 一行出力 old: print 'hoge' new: print('hoge') # 改行しない old: print 'hoge', new: print('hoge', end='') # 並べて出力 old: print 'hoge', 'piyo' new: print('hoge', 'piyo', sep=' ') # 出力先を指定 old: print >>sys.stderr 'hoge' new: print('hoge', file=sys.stderr)
まあたしかに,print は普通の函数ではない…というので
今までの仕様も理解できなくはないのですが,いろいろ便利になった.うん.
iterator
- dict.keys, dict.items, dict.values が list ではなくて view を返すようになった.
- map, filter, zip も view を返すようになった.
これはいいかも.
今までは新しい list を返してたからちょっと躊躇する場面もあったんだよね.
まあ,今までよりも注意が必要になるかもしれないけど.
with 構文
これが本命.2.6 にも merge されてる.それにしてもこれは神.
# ruby open('hoge,txt', 'r') do |f| # いろいろ end
# python 3 with open('hoge.txt', 'r') as f: # いろいろ
はい,華麗なまでにパクりですね.でも OSS ならではのこのフットワークが素敵.
ちなみに,今までは…
# python 2.5 f = open('hoge.txt', 'r') try: # いろいろ finally: f.close()