ホームページ  >  記事  >  バックエンド開発  >  Python3.8の新機能

Python3.8の新機能

藏色散人
藏色散人オリジナル
2020-01-13 11:21:374158ブラウズ

Python3.8の新機能

Python3.8 の新機能

Python3.8 の安定版がリリースされ、正式版がリリースされました。 Webサイトにて新機能紹介記事を公開しました。 注目記事はこちらに収録されています。

新しい代入演算子:=

関数: 大きな式の値の一部を変数に代入します。目に似ているためです。 := 演算子には特別な名前があります: Walrus Operator

例 1:

if (n := len(a)) > 10:    print(f"List is too long ({n} elements, expected <= 10)")

len() を 2 回呼び出すのを避けるために := を使用します。

新しい (位置パラメーターのみ) 構文記号 /

機能: 一部の関数のパラメーターは位置を指定する必要があり、キーワード パラメーターとして使用できないことを示します。

def f(a, b, /, c, d, *, e, f):    print(a, b, c, d, e, f)

この例では、パラメーター a と b は位置パラメーターのみですが、c または d は位置パラメーターのみまたはキーワード パラメーターにすることができます。e と f はキーワード引数である必要があります。

新しい PYTHONPYCACHEPREFIX 設定 (-X pycache_prefix)

関数: の代わりに別の並列ファイル システム ツリーを使用するように暗黙的なバイトコード キャッシュを構成します。デフォルトの pycache サブディレクトリを使用します。各ソースディレクトリ。

#デバッグ ビルドはリリース ビルドと ABI を共有します

f 自己文書化式とデバッグのための string = 指定子の新しいサポート

f string はフォーマットされた文字列リテラルで、Python 3.6 で導入され、非常に普及しました。

今回、= 指定子のサポートが v3.8 で追加されました。

>>> user = &#39;eric_idle&#39;>>> member_since = date(1975, 7, 31)>>> f&#39;{user=} {member_since=}&#39;"user=&#39;eric_idle&#39; member_since=datetime.date(1975, 7, 31)"
>>> delta = date.today() - member_since>>> f&#39;{user=!s}  {delta.days=:,d}&#39;&#39;user=eric_idle  delta.days=16,075&#39;

PEP 578: Python ランタイム監査フック / ランタイム監査フック

PEP は、監査フックと検証オープン フックを追加します。どちらのバージョンも Python とネイティブ コードで利用でき、純粋な Python コードで書かれたアプリケーションやフレームワークが追加の通知を利用できるようにすると同時に、エンベダーやシステム管理者が常に監査を有効にできるようにします。

PEP 587: Python 初期化構成

PEP 587 では、Python 初期化を構成するための新しい C API が追加され、構成全体の制御が向上し、エラー レポートが改善されました。

その他

Continuefinally は、finally: ブロック内に合法的に出現できます;

Windows では、デフォルトの非同期 (asyncio) イベント ループが変更されましたProactorEventLoop へ

#macOS では、spawn start メソッドがデフォルトでマルチプロセッシングに追加されます

マルチプロセッシングは共有メモリ セグメントを使用して、プロセス間の pickle オーバーヘッドを回避できるようになりました;

typed_ast がマージされましたCPython に戻りました;

LOAD_GLOBAL が 40% 高速になりました;

pickle はデフォルトでプロトコル 4 を使用するようになり、パフォーマンスが向上しました;

多数の Python トレーニング ビデオ

、すべて Python Learning Network 上にあります。オンライン学習へようこそ!

以上がPython3.8の新機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。