付録APython 3.7から3.11までの新機能と変更点

本付録の表は、Pythonコードで見つかる可能性が高いPythonバージョン3.7〜3.11での言語および標準ライブラリの変更点をまとめたものである。アップグレード戦略はコードベースでの破壊的な変更のせいで制約を受けることがあるため、これらの表を使って計画を立てるようにしよう。

次の3種類の変更は「破壊的」と見なされ、最後の列に!マークが付いている。

  • 新しいキーワードや組み込みが導入される(既存のPythonソースコードで使われている名前と衝突する可能性がある)。
  • 標準ライブラリモジュールまたは組み込み型からメソッドが削除される。
  • 後方互換性のない方法で標準ライブラリモジュールまたは組み込み型のメソッドのシグネチャが変更される(パラメータの削除、名前付きパラメータの名前変更など)。

新しい警告(DeprecationWarningを含む)も「破壊的」に分類されるが、最後の列に*マークが付いている。

また、PEP 594†1が勧告している標準ライブラリでの非推奨と削除の表("dead batteries")も確認しておこう。この表には、非推奨または削除が計画されているモジュールと、それらの変更が予定されているバージョン(Python 3.12以降)、および推奨される代替手段が列挙されている。

A.1 Python 3.7

次の表はPython 3.7の変更点をまとめたものである。詳細については、オンラインドキュメントの「What's New in Python 3.7」†2を参照してほしい。

Python 3.7追加非推奨削除破壊的な変更
関数が255個を超える引数を受け入れるようになった+   
argparse.ArgumentParser.parse_intermixed_args() ...

Get Pythonクイックリファレンス 第4版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.