Python 3.10
Python 3.10.0 (final) は 2021年10月4日にリリースされました。3.10 の機能は PEP 619 で定義されており、変更点の詳しい説明は What's New in Python 3.10 にあります。
新しい構文機能 |
状態 |
|
構造的パターンマッチング: 仕様 |
||
構造的パターンマッチング: 動機と根拠 |
||
構造的パターンマッチング: チュートリアル |
||
括弧で囲んだコンテキストマネージャが正式に許可されました |
||
標準ライブラリの新機能 |
||
zip への省略可能な長さチェックの追加 |
||
インタプリタの改善 |
||
デバッグやその他のツールのための正確な行番号 |
||
型付けの新機能 |
||
共用体型を X | Y と書けるようにする |
||
明示的な型エイリアス |
||
パラメータ仕様変数 |
||
重要な非推奨化、削除、制限 |
||
OpenSSL 1.1.1 以降を必須にする |
||
distutils モジュールを非推奨にする。 |
関係なし |
|
PyUnicodeObject の wstr メンバを非推奨にし、削除の準備をする。 |
関係なし |
|
Py_UNICODE のエンコーダ API を削除 |
関係なし |
|
省略可能な EncodingWarning の追加 |
||
その他の言語の変更:
|
|
|
|
PEP 618: |
|
整数の引数を取る組み込み関数と拡張関数は、 |
|
|
|
代入式が、集合リテラルと集合内包表記の中、およびシーケンスのインデックス(ただしスライスは除く)で、括弧なしで使えるようになりました。 |
|
関数に新しい |
|
2つの新しい組み込み関数 |
|
静的メソッド ( |
|
複雑なターゲット( PEP 526 で定義された |
|
クラスオブジェクトとモジュールオブジェクトは、空のアノテーション辞書を必要になった時点で遅延生成するようになりました。アノテーション辞書は後方互換性のためオブジェクトの |
|
|
|
束縛されていない変数、 |
|
|
|
|
|
|
組み込みモジュールの変更:
不足していた |
|
|
|
|
|
hashlib モジュールは OpenSSL 1.1.1 以降を必要とします。 |
|
hashlib モジュールは OpenSSL 3.0.0 を暫定的にサポートします。 |
|
|
|
VxWorks RTOS 向けに |
|
Linux の |
|
カーネルアドレス空間とユーザーアドレス空間の間でコピーすることなく、2つのファイル記述子間でデータを移動できる |
|
macOS 向けに |
|
freedesktop.org os-release 標準ファイルからオペレーティングシステムの識別情報を取得する |
|
例外 |
|
|
|
サービス種別 (ToS) や DSCP/ECN のフィールドを受け取るための |
|
ssl モジュールは OpenSSL 1.1.1 以降を必要とします。 |
|
ssl モジュールは OpenSSL 3.0.0 を暫定的にサポートし、新しいオプション |
|
非推奨の関数や非推奨の定数を使うと |
|
ssl モジュールのデフォルト設定がより安全になりました。前方秘匿性のない暗号や SHA-1 MAC はデフォルトで無効です。セキュリティレベル 2 では、112 ビット未満の強度しかない弱い RSA、DH、ECC の鍵が禁止されます。 |
|
非推奨のプロトコルである SSL 3.0、TLS 1.0、TLS 1.1 は、公式にはサポートされなくなりました。Python がこれらを積極的にブロックすることはありません。ただし OpenSSL のビルドオプション、ディストリビューションの設定、ベンダーのパッチ、暗号スイートによってハンドシェイクが成功しないことがあります。 |
|
|
|
ssl モジュールはヒープ型と多段階初期化を使うようになりました。 |
|
新しい検証フラグ |
|
|
|
標準ライブラリのモジュール名のリストを含む |
|
|
|
注記