Python 3.10¶
Python 3.10.0(最終版)は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 モジュールはヒープ型と多段階初期化を使用するようになりました。 | |
新しい検証フラグ | |
| |
標準ライブラリのモジュール名のリストを含む | |
| |
注記