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