Python3.0で変わった事2つ

Decoratorのサンプルを書いている時に、Python2.6と 3.1 の両方でやってみた。
その時にはまった変更点を2つメモ。

  • print が構文から関数に変更されている
#python 3.1
print 'hoge' #=> Error!
print('hoge') #=> hoge
  • func_X の関数が __X__に変更されている

unc_Xとは関数オブジェクトのinspectを行う関数の集まり。

func_Xと名づけられていた関数の属性は、__X__というフォームに改称されました。古いfunc_X形式の名前は関数の属性の名前空間は、ユーザが定義する属性(名)として解放されました。即ちfunc_closure、func_code、func_defaults、func_dict、func_doc、func_globals、func_nameはそれぞれ__closure__、__code__、__defaults__、__dict__、__doc__、__globals__、__name__に改称されました。

だそうな。


Python 3.0 での変更点全訳はこちら
http://text.world.coocan.jp/TSNET/?What%27sNewInPython3.0