Python 3.10は、ユーザーがダウンロードできる最も安定したバージョンの1つであり、今年後半にリリースされる予定です。新しくリリースされたバージョンには、初心者と経験豊富なプログラマーの両方にとって使いやすい機能など、多くの注目すべき変更が含まれます。
新しいPythonバージョンでの明白な改善には、構造パターンマッチングの導入、より良いエラーメッセージ、新しいユニオン演算子、デバッグ用の正確な行番号などが含まれます。
Python3.10について知っておくべきことは次のとおりです。
Python3.10での構造パターンマッチング
構造パターンマッチングにより、コードの記述が簡単になり、最新のPythonバージョンの目立ったハイライトの1つであり続けています。 Pythonは、プログラミング言語の以前のバージョンに存在する既存のmatch-caseステートメントを改善することを目的としています。 Python内の既存のmatch-caseステートメントが更新されました。
構造パターンマッチングの実装を簡単に見てみましょう。
match-caseステートメントは、しばらくの間Python言語の一部になっています。このステートメントは、基本的に、 if-else ステートメントを複数回。
新しいビルドでこの機能を使用して、同様のプロパティを持つオブジェクトと照合できます。
match media_object:case Image(type='jpg'):# Return as-isreturn media_objectcase Image(type='png') | Image(type='gif'):return render_as(media_object, 'jpg')case Video():raise ValueError('Can't extract frames from video yet')case other_type:raise Exception(f'Media type {media_object} can't be handled yet')
新しいPythonライブラリは、jpg、gif、ビデオなどのオブジェクトを認識します。このコードは、エラーをスローすることなくシームレスに実行できます。
2.改善されたエラーメッセージ
すべてのコーダーは、コードを書く際のエラーの重要性と、一部のエラータイプがどれほど腹立たしいものになるかを理解している可能性があります。以前のバージョンのPythonは、構文に問題があるとすぐにエラーメッセージをスローしました。これらは、他の問題の中でもとりわけ、間違った構文、欠落したキーワード、誤ったまたはスペルミスのキーワードが原因である可能性があります。
これらのエラーメッセージは、初心者(場合によっては上級ユーザー)がコード内のエラーの本当の原因を特定するのが困難になったため、完璧にはほど遠いものでした。プログラマーとして、Googleはさまざまなエラーメッセージの背後にある理由を解読する上であなたの味方であり続けます。
Firestickでkodi17にアップグレードする方法
たとえば、多くの人はPythonが次のエラーをスローする理由を知らないかもしれません。
SyntaxError: unexpected EOF while parsing error message.
そのようなステートメントの明確さの欠如は、最新のPythonバージョンが既存のエラーメッセージのセットを改善することを促しました。
古いメッセージは、次のようなわかりやすいエラーメッセージに置き換えられました。
{閉じられなかった 解析中の予期しないEOF
その他の変更点は次のとおりです。
次のような属性エラー:
from collections import namedtoplo
モジュール 'collections'には属性 'namedtoplo'がありません。つまり:namedtuple?
NameErrorメッセージは、次のように変更されます。
new_var = 5print(new_vr)>
NameError:名前 'new_vr'が定義されていません。つまり:new_var?
3.括弧で囲まれたコンテキストマネージャー
新しい括弧で囲まれたコンテキストマネージャーは、コードをよりエレガントに見せることができます。これは主要な機能ではありませんが、コードを簡単に不格好にすることができます。この機能は、チームで作業していて、コードを構造化する必要がある場合に役立ちます。
次のようなステートメントを書くことを想像してみてください。
with open('file1.txt', 'r') as fin, open('file2.txt', 'w') as fout:fout.write(fin.read())
上記のコードは機能しますが、最初の行が長すぎて不器用に見えます。バックスラッシュを使用して線を切ることができます( )そしてコードを構造化されたように見せます:
with open('file1.txt', 'r') as fin, open('file2.txt', 'w') as fout: fout.write(fin.read())
新しい括弧付きコンテキストマネージャーの導入により、括弧を使用して行を分割することもできます。
with (open('file1.txt', 'r') as fin,open('file2.txt', 'w') as fout):fout.write(fin.read())
関連している: 初心者に適したPythonプロジェクトのアイデア
4.新しいタイプの共用体演算子
Python 3.10の小さいながらも便利な機能は、新しいタイプのユニオン演算子です。すべてのPythonリリースには、事前定義されたタイプヒント機能のセットが付属しています。
venmoの支払いをキャンセルする方法
和集合演算子には条件付きロジックが含まれています。例えば、 int また 浮く 次のように書くことができます ユニオン[X、Y] 。新しいユニオン演算子は次のように表すことができます int | float また。
Python 3.10に新しいユニオンオペランドが導入されたことで、時間が節約され、コードが明確に定義されたように見えます。
例えば:
def f(x: int | float) -> float: return x * 3.142f(1) # passf(1.5) # passf('str') # linter will show annotation error
5.デバッグ用の正確な行番号
そのエラートレースがエラーが発生した正しい行にリダイレクトされない前に、何度も気づいたかもしれません。これにより、コードを書き始めたばかりのコーダーにとってデバッグが困難になります。
欠陥のあるエラートレースは、書き込み中に特に明白です sys.settrace およびPythonの関連ツール。新しいバージョンではこれが大幅に改善され、エラーが発生したときに正確な行番号を確認できます。
より正確な行番号をもたらすために、Python3.10はその信頼性を現在のものからシフトします co_Inotab 属性と新しいメソッドを使用します co_lines() 属性。この属性は、次のように機能します。 f_lineo 常に正確な行番号が含まれています。
1. for (2. x) in [1]:3. pass4. return
関連:Pythonコードをデバッグする
6.注釈の評価の延期
Python内では、型アノテーションの評価は関数定義時に実行されます。これは、タイプ注釈がトップダウン方式で行ごとに評価されることを意味します。
最善の選択肢のように思われるかもしれませんが、このアプローチにはまだ2つの問題があります。
- 型ヒントは、まだ定義されておらず、機能しない型を指します。これらのヒントは文字列として表現する必要があります。
- タイプヒントがリアルタイムで実行されるため、モジュールのインポートが遅くなります。
実行の問題を回避するために、注釈はに保存されます _注釈_ そして評価は一緒に行われます。これにより、モジュールのインポートが最初に実行されるときに前方参照が可能になり、初期化時間が短縮されます。
Python3.10の最新機能の操作
Pythonの最新バージョンは2021年10月4日にリリースされます。既存のバージョンに存在するバグを修正することを約束します。以下のバージョンは、現在の3.10バージョンを改善します。
構造パターンマッピングは、この新しい更新のハイライトであり、同様のオブジェクトのコードの記述を簡単にします。括弧で囲まれたコンテキストマネージャーや新しいタイプの共用体演算子などの他の機能は、コードをより単純で効率的にすることを目的としています。
それにもかかわらず、既存のPythonバージョンにはいくつかの優れた例外処理手法があります。 Pythonの機能をうまく利用できます。
共有 共有 つぶやき Eメール Pythonで例外を処理する方法Pythonの例外でコーディングベースをカバーします。
次を読む 関連トピック- プログラミング
- プログラミング
- Python
- コーディングのヒント
Winiはデリーを拠点とする作家で、2年の執筆経験があります。彼女の執筆活動の間、彼女はデジタルマーケティングエージェンシーや技術会社と関係がありました。彼女は、プログラミング言語、クラウドテクノロジー、AWS、機械学習などに関連するコンテンツを作成しています。余暇には、絵を描いたり、家族と過ごしたり、山へ旅行したりするのが好きです。
WiniBhallaのその他の作品ニュースレターを購読する
ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。
購読するにはここをクリックしてください