2009年11月12日木曜日

Python2と3の違い

Python2.xと3.0は互換性が少なく、2.xのコードが動かない場合があります。

  • 演算子「/」の演算結果が2.xだと整数だが、3.0だと浮動小数点となる。「//」(商の切り捨て)はどちらも整数。
  • Print文の書式。2.xだと Print aa, bb, cc だが、3.0だとPrint(aa, bb, cc)とかっこが必要。
  • 辞書のkeysメソッドの戻りが、2.xだとリストだが、3.0はlist関数を使う必要がある。list(a.keys())。
  • 2.xのデフォルトエンコーディングはASCIIだが、3.0はunicode(2.xのstr型がなくなった)。
  • 3.0ではbasestring型が廃止されている。
  • 3.0ではバイト型が導入されている。
    • Unicode型:2.x→「u”aa”」 3.0→「”aa”」
    • バイト列:2.x→「str型 “aa”」 3.0→「バイト型 b"aa"」

0 件のコメント:

コメントを投稿