** PantronAI共有**
著者| PADHMA
コンパイル| VK
ソース|分析Vidhya
有名な作家ウェインW.デルが言ったように、
❝物事の見方を変える見方も変わる
❞
Pythonの新しいバージョンがリリースされたとき、多くの人々が後方互換性やその他の問題を心配していました。しかし、Pythonが好きなら、新しいアップデートでリリースされた機能にワクワクするでしょう。
Pythonの最新バージョンは、2020年10月5日(月曜日)にリリースされます。この記事では、今すぐ試すことができるpython3.9機能のリストを提供します。
まず、新しいバージョンのpythonに更新しましょう。現在使用しているバージョンがわからない場合は、以下のコードを使用して現在のバージョンを確認してください。
cmdに、次のように入力します
![]( http://qiniu.aihubs.net/31497cmd version.jpg)
バージョンを更新するには、Pythonダウンロードページに移動し、インストールパッケージを入手して、インストールを開始します。注:環境変数のパスを必ず更新してください。
最新バージョンができたので、次は新機能を確認します。
辞書は、Pythonで最も有用で一般的に使用されるデータ構造の1つです。新しいバージョンは、辞書のマージと更新の方法を最適化します。
2つの辞書dict1とdict2があるとします。
dict1には車の名前とモデルが含まれ、dict2にはエンジンと重量が含まれます。
同じ車に関する情報が含まれているため、これら2つの辞書をマージします。 python3.8以前では、2つの辞書をマージするために、
組み込みの更新方法:
または式**:
これは時々不便とトラブルを引き起こします。
Python 3.9.0では、| union演算子を使用して構文を改善し、2つのdictをマージします。
このアプローチは非常にクリーンで、簡潔で、率直です。また、コードの読みやすさも向上します。
2つの辞書に共通のキーがある場合、2番目の辞書の値が保持されます。
Python3.8以前の新しいキーと値のペアで既存の辞書を更新するために、次のことができます。
更新方法を使用し、
または、反復可能で更新します。
3.9では、同じジョブをより簡単な方法で実行する更新演算子| =があります。
ここで、| =は展開された割り当て演算子と同様に機能します。
❝dict1| = dict2はdict1 = dict1 | dict2を意味します
❞
通常の状況では、Pythonでデータタイプを指定しません。ただし、場合によっては、特定のタイプを表す変数が必要になることがあります。この場合、Pythonの柔軟性は煩わしいものになる可能性があります。 Python 3.5以降、タイプを指定できますが、この更新により作業が簡単になります。
![]( http://qiniu.aihubs.net/68514type hint1.png)
この場合、関数に渡される値のタイプは非常に重要です。コードにエラーはありませんが、文字列を渡すと同じ文字列が2回繰り返されます。
最新バージョンでは、タイプヒントを介してintとして目的のタイプを指定できます。
![]( http://qiniu.aihubs.net/36104type hint2.png)
strオブジェクトに2つの新機能が追加されました。この機能は、探索的データ分析中に役立つ場合があります。
関数からプレフィックスを削除します
文字列から接尾辞を削除する
既存の数学関数を変更しました。以前のバージョンでは、GCDを計算する関数は2つの数値しか受け入れませんでした。しかし今では、任意の数の値に適用できます。
LCMを計算するための新しい関数が数学モジュールに追加されました。 GCD関数と同様に、LCM関数は任意の数の値を受け入れます。
この* math.nextafter()*関数は、xとyの2つのパラメーターを受け入れます。 python3.9のこの機能は関数です。浮動小数点数の精度を考慮すると、xからyまでの次の浮動小数点数です。
64ビットのコンピューターがないとします。代わりに、3桁しかありません。これらの3つの数値を使用して、3.14のような数値を表すことはできますが、3.141を表すことはできません。 3.14の場合、表すことができる最も近い大きい数値は3.15であり、これら2つの数値の差は1 ULP (最後の桁の単位)、つまり0.1です。戻り値はこの例と同等ですが、コンピューターの実際の精度と同じです。
ULPの詳細については、https://matthew-brett.github.io/teaching/floating_error.htmlを確認してください。
これは修正であるため、それほど機能ではありません。以前のPythonインポートバージョンに一貫性がない場合、以前のインポートバージョンには一貫性のないエラーがあります。
builtins.__import__()ValueErrorを上げる
importlib.__import__()ImportErrorを発生させる
__ import __()
は、ValueErrorではなくImportErrorを発生させるようになりました。これはより理にかなっています。
ランダムバイトを生成するために、ランダムモジュールにrandbytesと呼ばれる新しいメソッドが導入されました。 Pythonはすでに3つの異なる関数を介してランダムバイトを生成できます
ただし、疑似ランダムパターンを生成することはできません。
random.random.randbytes関数は、制御された方法でランダムバイトを生成し、シードを設定することで結果をコピーできます。ただし、安全性が重要でない場合にのみ使用できます。
IANAタイムゾーンをサポートする新しいモジュールがタイムゾーンライブラリzoneinfoに導入されました。
インドの標準時刻をデリーの現在の時刻に変換する例を考えてみましょう。 3.9より前では、pipを介してpytzをインストールします。
zoneinfoモジュールの場合、これは非常に簡単です。 ZoneInfoクラスを直接インポートできます。
さらに、新しい高性能PEGベースのパーサー、Graphlibモジュール、非同期およびマルチプロセッシングの改善、HTTPステータスコード、および多数の冗長機能が削除されました。詳細については、ここをクリックしてください:https://docs.python.org/3.9/whatsnew/3.9.html
元のリンク:https://www.analyticsvidhya.com/blog/2020/10/7-exciting-python-3-9-feature-to-know/
Recommended Posts