ホームページ バックエンド開発 Python チュートリアル Python 3.8 の新機能について 1 つの記事で学びましょう

Python 3.8 の新機能について 1 つの記事で学びましょう

Aug 19, 2019 pm 05:58 PM
新しい機能

Python 3.8 の新機能について 1 つの記事で学びましょう

Python 3.8 は Python 言語の最新バージョンで、スクリプト作成、自動化、機械学習、Web 開発などのさまざまなタスクに適しています。 Python 3.8 が公式ベータ段階に入り、このバージョンでは多くの構文変更、メモリ共有、より効率的なシリアル化と逆シリアル化、辞書の改善、その他の新機能が追加されています。

Python 3.8 では、パフォーマンスも多数向上しています。全体として、より高速で、より正確で、より一貫性があり、より最新の Python が実現しようとしています。以下は、Python 3.8 の新機能と最も重要な変更点です。

1. 代入式

Python 3.8 での最も明らかな変更は、代入式、つまり := 演算子です。代入式では、変数が存在しない場合でも、変数に値を割り当てることができます。別のステートメントとして出現せずに式内で使用できます。

Python 3.8 の新機能について 1 つの記事で学びましょう

上記の例では、変数 line が存在しない場合は変数 line が作成され、file.readline() の戻り値が代入されます。次に、行が「終了」であるかどうかを確認します。そうでない場合は、次の行を読んでその行に保存し、テストを続けます。

代入式は、リスト内包表記と同様に、Python の伝統的な単純さに従っています。その目的は、特定の Python プログラミング モデルにおける退屈な定型コードを避けることです。たとえば、上記のコードを通常の方法で記述するには、さらに 2 行のコードが必要です。

関連する推奨事項: 「Python ビデオ チュートリアル

2. 位置によって指定されたパラメーターのみ

位置的にのみ指定指定された引数は、プログラマがパラメータを位置的にのみ指定することを強制できる関数定義の新しい構文です。これにより、どのパラメータが位置パラメータでどのパラメータがキーワード パラメータであるかについての Python 関数定義のあいまいさが解決されます。

位置によってのみ指定されたパラメータは、次の状況で使用できます。関数は任意のキーワード パラメータを受け入れますが、1 つ以上の不明なパラメータも受け入れることができます。これは Python の組み込み関数の場合によくあることなので、プログラマがこれを実行できるようにすると、Python 言語の一貫性が高まります。

Python ドキュメントに示されている例は次のとおりです。

Python 3.8 の新機能について 1 つの記事で学びましょう

#記号 / は位置パラメータとキーワード パラメータを区切ります。この例では、すべてのパラメータが未知のパラメータです。 Python の以前のバージョンでは、z はキーワード引数とみなされます。ただし、上記の関数定義を使用すると、pow(2, 10) と pow(2, 10, 5) はどちらも正しい呼び出しメソッドですが、pow(2, 10, z=5) は正しくありません。

3. f-string デバッグのサポート

f-string 形式により、同じ式内の出力テキストと値または変数の計算が容易になり、効率が向上します。 。

Python 3.8 の新機能について 1 つの記事で学びましょう

#出力 4.

f 文字列式の最後に = を追加せずに、f 式自体の値を出力し、その後に計算値を出力することができます。

Python 3.8 の新機能について 1 つの記事で学びましょう

出力は x 1 =4 です。

4. マルチプロセス共有メモリ

Python 3.8 では、マルチプロセッシング モジュールは、異なる Python プロセス間で共有メモリ領域を作成できる SharedMemory クラスを提供します。

古いバージョンの Python では、プロセス間で共有されるデータは、ファイルに書き込むか、ネットワーク ソケット経由で送信するか、Python の pickle モジュールを使用してシリアル化することしかできませんでした。共有メモリはプロセス間でデータをより高速に転送する方法を提供し、Python でのマルチプロセッサおよびマルチコア プログラミングをより効率的にします。

共有メモリ セグメントは、単純なバイト領域として、または数値型、文字列、バイト オブジェクト、None オブジェクトなどを格納できる変更不可能なリスト状のオブジェクトとして割り当てることができます。Python オブジェクトの小さなコレクションです。

5. 型付けモジュールの改善

Python は動的に型付けされる言語ですが、型付けモジュールを通じて型ヒントを追加して、サードパーティのツールで検証できるようにすることができます。 Python コード。 Python 3.8 では、より堅牢なチェックをサポートできるように、型指定にいくつかの新しい要素が追加されています。

final 修飾子と Final 型の注釈は、変更または注釈が付けられたオブジェクトをいつでもオーバーライドしてはならず、継承してはいけないことを示します。再割り当てされる。

リテラル型は、式を特定の値または値のリストに制限します (値が同じ型である必要はありません)。

TypedDict を使用すると、特定のキーの値が 1 つ以上の型に制限された辞書を作成できます。これらの制限はコンパイル時に値の正当性を判断するためにのみ使用され、実行時に制限することはできないことに注意してください。

6. pickle プロトコルの新しいバージョン

Python の pickle モジュールは、Python データ構造またはインスタンスをシリアル化および逆シリアル化するメソッドを提供し、辞書は後で読むためにそのまま保存できます。 Python のバージョンが異なれば、サポートされる pickle プロトコルも異なります。最新バージョンでは、より広範で、より強力で、より効率的なシリアル化がサポートされます。

Python 3.8 で導入された pickle プロトコルの 5 番目のバージョンでは、バイト、メモリビュー、Numpy 配列などの Python のバッファ プロトコルをサポートできる新しいメソッドを使用してオブジェクトを pickle できます。新しい pickle では、これらのオブジェクトを pickle 化するときに多くのメモリ コピー操作が回避されます。

NumPy、Apache Arrow、およびその他の外部ライブラリは、それぞれの Python バインディングで新しい pickle プロトコルをサポートします。新しい pickle は、Python 3.6 および 3.7 のプラグインとしても利用でき、PyPI からインストールできます。

7. 可逆辞書

辞書は、PyPy プロジェクトによって提供された新しい実装を使用して、Python 3.6 で書き直されました。より高速かつコンパクトになったことに加えて、辞書は要素の順序を継承するようになりました。要素はリストと同様に、追加された順序で配置されます。 Python 3.8 では、辞書で reversed() も使用できます。

8. パフォーマンスの向上

以前は多くの関数で不必要なパラメーター変換が必要であったため、多くの組み込みメソッドと関数の速度が 20% ~ 50% 向上しました。 。

新しいオペコード キャッシュにより、インタープリターの特定の命令の速度が向上します。ただし、現在達成されている唯一の速度向上は LOAD_GLOBAL オペコードであり、40% 高速化されています。将来のバージョンでも同様の最適化が行われる予定です。

shutil.copyfile() や shutil.copytree() などのファイル コピー操作では、プラットフォーム固有の呼び出しやその他の最適化が使用され、操作速度が向上します。

リストの長さが事前にわかっている場合にリスト コンストラクターによって実行される最適化のおかげで、新しく作成されるリストは以前より平均 12% 小さくなりました。

新しいタイプのクラス (クラス A(オブジェクト) など) のクラス変数への書き込み操作が、Python 3.8 で高速になりました。 Operator.itemgetter() と collections.namedtuple() も速度が最適化されました。

9.Python C API と CPython 実装

最近のバージョンの Python は、CPython で使用される C API (CPython で記述された Python のリファレンス実装) に関してリファクタリングされています。 C. それには多くの努力が払われました。これまでのところ、この作業はまだ追加されており、既存の結果は次のとおりです。

Python 初期化構成 (Python 初期化構成) には、Python 初期化ルーチンをより厳密に制御し、より詳細なフィードバックを可能にする新しい C API が含まれています。これにより、Python ランタイムを他のアプリケーションに埋め込んだり、プログラムによって起動パラメータを Python プログラムに渡したりすることが容易になります。また、新しい API により、すべての Python 構成コントロールが単一の一貫した場所を持つことが保証されるため、将来の変更 (Python の新しい UTF-8 モードなど) が容易になります。

CPython のもう 1 つの新しい C API である「vectorcall」呼び出しプロトコルを使用すると、一時オブジェクトを作成せずに Python の内部メソッドをより高速に呼び出すことができます。 API はまだ不安定ですが、大幅に改善されました。 API は Python 3.9 で成熟する予定です。

Python ランタイム監査フックは、Python ランタイム用の 2 つの API を提供します。これらの API を使用してイベントをフックし、テスト フレームワーク、ログ、監査システムなどの外部ツールがイベントを監視できるようにします。

10. Python 3.8 をダウンロードする方法

Python Software Foundation から Python 3.8 ベータ版をダウンロードします: https://www.python.org/downloads/release /python-380b1/

以上がPython 3.8 の新機能について 1 つの記事で学びましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iPadOS18の新機能 iPadOS18の新機能 Jun 12, 2024 pm 10:41 PM

今朝早く、Apple は iPadOS18 を正式にリリースしました。このシステムは、iOS18 の古典的な機能を備えているだけでなく、数学メモ電卓のサポートなど、いくつかのユニークな機能も追加しており、興味のある iPad ユーザーのエクスペリエンスがさらに向上しています。来て見てください。今回のiPadOS18は、ユーザーが好みに応じてコントロール項目の順序や配置を自由に調整できるパーソナライズされたコントロールセンターデザインや待望のゲームモードなど、iOS18のコア機能を完全に継承するだけでなく、よりスムーズなゲームプレイをゲーマーに提供します。没入型のゲーム体験には、特に iPad の大画面の利点と Apple Pencil のクリエイティブな使用をターゲットにした多くのユニークな機能が組み込まれており、iPad の生産性がさらに向上します。

WeChatが新機能「Quietモード」を開始 WeChatが新機能「Quietモード」を開始 Mar 04, 2024 pm 01:43 PM

WeChat が新機能「Quiet モード」を開始したことがわかりました。 WeChat をオンにすると、メッセージ通知、音声およびビデオ通話、ビデオ アカウント コンテンツの再生などのすべてのシナリオで音が鳴らなくなります。 iOS で WeChat を最新バージョンに更新し、「WeChat」-「自分」-「設定」-「ケア モード」-「静かなモード」で有効にします。その後、WeChat はメッセージ通知、音声およびビデオ通話、ビデオ アカウント コンテンツの再生などのすべてのシナリオで音を鳴らなくなります。 WeChatは、この機能は耳が聞こえない人のニーズを満たすために開発されたと述べた。ほとんどの人にとって、音は非常に一般的でアクセスしやすいものかもしれませんが、聴覚障害者コミュニティには他の人と同じように携帯電話や WeChat を使用しているにもかかわらず、この知覚能力がないことを無視することがよくあります。によると

Microsoft Edgeブラウザの新機能「スーパードラッグ」が利用可能になりました! Microsoft Edgeブラウザの新機能「スーパードラッグ」が利用可能になりました! Mar 04, 2024 pm 06:31 PM

編集者は最近、Microsoft Edge ブラウザーの新機能「スーパー ドラッグ」がリリースされ、新しいタブでリンクを開く 4 番目の方法のロックが解除され、ユーザーがより簡単にリンクをより速く開くことができるようになったことを知りました。現在、Microsoft Edge ブラウザーでは、ユーザーがリンクまたは画像を新しいタブで開きたい場合、次の 3 つの方法があります。 1. リンクまたは画像を右クリックし、対応する操作オプションを選択します。 2. リンクまたは画像をタブ バーにドラッグします。 3. マウス ホイールを使用して、リンクまたは画像をクリックします。 「スーパー ドラッグ」は 4 番目の種類のインタラクションをもたらします。ユーザーはリンク、テキストの一部、または画像をクリックし、それを横、上、下に少しドラッグして新しいタブで開きます。ユーザーがテキストをドラッグすると、デフォルトで Edge ブラウザのデフォルトの検索エンジンが呼び出され、新しいタブが開きます。

iOS18の新機能が明らかに iOS18の新機能が明らかに Mar 06, 2024 pm 02:25 PM

Apple は、年次メジャー ソフトウェア アップデートである iOS 18 をリリースしようとしているため、これは間違いなく 2024 年に最も注目され、非常に期待されているリリースの 1 つとなるでしょう。噂によると、このアップデートはiPhoneの歴史の中で最大のソフトウェアアップグレードの1つと見なされています. ここでは、関連する機能アップグレードの簡単な概要を示します. 新しいiOS 18機能の啓示 1. AppleがvisionOSを統合する可能性があると報告されていますスタイルを iOS 18. に取り入れ、人々に新鮮な操作体験を提供します。 2. 噂によると、同社は AI モデルを積極的にテストしており、iOS18 バージョンでは Siri に大幅な改良が加えられると予想されています。 3. さらに、Apple は最近試験プログラムを開始し、顧客からの問い合わせの効率を向上させることを目的として、AppleCare に「Ask」と呼ばれる新しいツールを導入しました。 4

Windows 11 の新機能の詳細 Windows 11 の新機能の詳細 Dec 23, 2023 pm 03:37 PM

新しい win11 オペレーティング システムは、ユーザーに多くの新機能と機能をもたらしました。これらは非常に斬新で、使いやすく、強力です。今日は、win11 の新機能について詳しく紹介します。よくわからない場合は、ここに来てください。詳細を調べてみましょう。 win11 の新機能は次のとおりです。 1. Win11 の新しいデザインにより、UI がシンプルかつ美しく、よりモダンになりました。 2. Microsoft は、スタート メニューとアプリケーション アイコンをタスクバーの中央に配置することで、ユーザーは必要なものをより迅速に見つけられるようになると述べています。 3. Win11 の更新パッケージは Win10 よりも平均 40% 少ないため、より多くの電力が節約され、より高速に実行されます。 4. 内蔵Edgeブラウザも高速化され、Win11では複数のタスク配置方法が追加されました。

ペイント アプリケーションの Win11 プレビュー バージョンのアップデートにより、新しい非表示の背景、表示されているレイヤーのコピーなどが追加されます。 ペイント アプリケーションの Win11 プレビュー バージョンのアップデートにより、新しい非表示の背景、表示されているレイヤーのコピーなどが追加されます。 Apr 11, 2024 pm 07:10 PM

Windows アップデートに加えて、Microsoft は本日、バージョン番号 11.2402.32.0 の最新のペイント アプリケーション アップデートを Canary および Dev チャネルにプッシュし始めました。このアップデートにより、ペイントのブラシ サイズが改善され、鉛筆、ブラシ、消しゴム ツールに新しいサイズ スライダーが追加されました。さらに、Microsoft は、レイヤー パネルに新しい背景オプションを追加するなど、ユーザーがキャンバスの背景色を設定できるようにするなど、レイヤー機能をさらに改善しました。図のように、レイヤーパネルを開いて下部の「背景」タイルをクリックするか、Ctrl+Shift+Bのショートカットキーを使用すると、カラーピッカーダイアログボックスが表示されるので、「作成」を選択します。好きな色を

win10 バージョン 1903 の最新機能の紹介 win10 バージョン 1903 の最新機能の紹介 Jan 01, 2024 pm 01:33 PM

Microsoft が再び win101903 の新バージョンを発表した後、友人たちは Microsoft がこのアップデートでどのような新機能を発表したか知りたがっているはずです。編集者の知る限り、今回のアップデートでは前バージョンのバグや機能上の不具合が修正されているほか、アンインストール可能な内蔵アプリ、アクリルエフェクトのLightTheme、白黒混合背景などの新コンテンツも追加されている。 win10 最新バージョン 1903 の新機能 1. 内蔵アプリケーションのアンインストールが可能 win10 システムにはさまざまな内蔵アプリケーションがありますが、win101903 では一部の内蔵アプリケーションをアンインストールできるようになりました。アンインストールできるのは一般的なアプリケーションに限られますが、Edge と App Store については、Win10 の基盤となる多くの機能が関与するため、アンインストールすることはできません。 2. アクリル効果のあるLightTh

PHP8の新機能と開発効率の向上を徹底分析 PHP8の新機能と開発効率の向上を徹底分析 Jan 13, 2024 am 11:33 AM

PHP8の新機能を徹底分析して開発効率を向上! PHP8 は、2020 年 11 月 26 日に正式にリリースされた PHP プログラミング言語の最新バージョンです。このバージョンには、開発効率を大幅に向上させる多くのエキサイティングな新機能と改善が加えられています。この記事では、PHP8 の新機能のいくつかを詳しく説明し、具体的なコード例を示します。 1. JIT コンパイラー PHP8 は、いくつかの人気のあるコードブロックをリアルタイムでコンパイルできる JIT (Just-In-Time) コンパイラーを導入し、それによって改善されています。

See all articles