問題タブ [python-3.10]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - JSON または JSON 行に対する SQL スタイルのクエリにパターン マッチングを使用する方法
JSONまたはJSON linesの形式のデータから始めて、構造パターン マッチングを使用してそれに対してクエリを実行したいと考えています。
たとえば、 json.load() を実行した後、次のような構造の dict を取得します。
私がやりたいことは、Python 3.10 の構造パターン マッチングを適用して、関連データを抽出することです。これは、次の SQL クエリの場合と同じです。
python - 構造パターン マッチングでの偶発的なキャプチャの回避
この例は、パターン マッチングを使用する場合に「落とし穴」として議論されています。
これは、構造パターン マッチングによる偶発的なキャプチャの例です。この予期しない出力が得られます。
これと同じ問題が他の形で発生します。
この例でstr
は、括弧が必要str()
です。それらがなければ、それは「キャプチャ」し、str組み込み型はxの値に置き換えられます。
これらの問題を回避し、早期に検出するのに役立つ防御的なプログラミング手法はありますか?
python - Python 3.10 で Union 型を継承する
Python 3.10で呼び出される一般的なUnion型を作成するとします。ResultData
この場合、新しい Python 3.10 Union 構文を使用していることに注意してください。
次に、クラスを継承していくつかのメソッド(モナドのメソッドなど)を追加しようとすると問題が発生します。
このクラスを宣言すると、次のエラーがスローされます。
Union 型は次の 2 つのクラスから継承しているようです:_SpecialForm
と_GenericAlias
.
_GenericAlias
にはコンストラクタとして 4 つの引数がありますが、引数は_SpecialForm
2 つしかありません。私の推測では、_SpecialForm
コンストラクターはコンストラクターを使用して呼び出される_GenericAlias
ため、エラーが発生します。
次のコードでそれを修正しようとしました:
それでも、同じエラーが発生します。