問題タブ [abc]

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.

0 投票する
1 に答える
255 参照

python - クラス変数をインスタンス化せずにPythonでフォーマットして検証する

クラス変数を検証してフォーマットしようとしています。クラスはクラスをそのまま拡張しABCMetaます__metaclass__が、子クラスをまだインスタンス化できません。したがって、以下のコードを実行すると、必要な出力ではなくプロパティ オブジェクトが出力されます。その理由は理解できます。しかし、どうすればいいですか?

私の理論では、これはうまくいくと思います。

しかし、それから私はそれをねじりすぎていると感じます。それで、これを行う方法は?そして、私の理解は正しいですか?どんな助けでも大歓迎です。

0 投票する
1 に答える
283 参照

python - 抽象基本クラスを使用してPythonでargparseを記述する方法

私はPythonが初めてで、コマンドラインオプション、引数、およびサブコマンドにパーサーを使用しようとしています。

私のコマンドは次のようになります。

s3またはswiftに保存する場合:

サブコマンド (list、backup、restore) の引数は S3/SWIFT に依存します。

誰かがコードを開始するためのヒントを教えてください。

0 投票する
1 に答える
126 参照

python - ABC はメソッド デコレータを強制しますか?

ABC から継承するクラスのメソッドが適切なデコレータを使用して作成されるようにする方法を見つけようとしています。ABC が一般的にどのように機能するかを (できれば) 理解しています。

これにより、「TypeError: 抽象メソッド my_abstract_method で抽象クラス MyClass をインスタンス化できません」というメッセージが表示されます。なるほど、なるほど。その名前でメソッドを作成するだけです。

ブーム。あなたは終わった。しかし、この場合はどうですか?

my_attribute はプロパティではありませんが、MyClass() 呼び出しは機能します。最終的に ABC が行うことは、指定された名前のメソッドが存在することを確認することだと思います。それでおしまい。さらに詳しく知りたい場合は、MyABC のソース コードを見て、ドキュメントを読む必要があります。そこにあるデコレータとコメントは、サブクラスをどのように構築する必要があるかを知らせます。

私はそれを正しく持っていますか、それともここで何かが欠けていますか?

0 投票する
1 に答える
1330 参照

python-2.7 - Pylint は、抽象基本クラスの抽象サブクラスを処理できません

抽象 クラスMyConcreteClassをサブクラス化する具象クラスがあり、それが別の抽象クラスをサブクラス化します。MyABC2MyABC1

pylintmy_abstract_methodで定義しないのが好きではないMyABC2:

これは既知のバグですか? 多分私は何か間違ったことをしていますか?

0 投票する
2 に答える
64 参照

python - 抽象メソッドを持つファクトリ クラス

私は、FitFunction私が示したものを超えてたくさんのものを追加するという名前のファクトリ クラスを作成しました。label メソッドpretty_stringは、書かれたとおりの文字列を返すだけであると想定されています。このファイルを実行すると、repr. 誰かがこれを実装する方法を知っていますか?

出力を比較できるように、同じパラメーターを持つ多くの異なるデータセットに適用するため、作成するサブクラスFitFunctionを作成します。GaussianGaussian

参考までに、ファイルを実行すると次のようになります。

次の結果を探しています。

0 投票する
0 に答える
109 参照

python - 代数構造であるクラスの標準インターフェース

代数構造である Python クラスが実装する必要があるインターフェイスの標準は既にありますか? コードをより汎用的にしたい。

たとえば、数値と正方行列はどちらも乗算と 1 を含む半群です。.one()の恒等要素を返すメソッドを実装する場合*、両方のクラスのオブジェクトに対して動作する 2 乗によってべき乗を実装できます。

また、関数は、数値であるかどうかに関係なく、乗算と 1 を持つ半群 (クラスがそのようなインターフェイスを実装している場合) である任意のクラスのオブジェクトで正常に機能する可能性があります。

その目的のために独自のインターフェースを導入できることはわかっていますが(例で行ったように)、既存のソリューションに固執したいと思います(可能であれば)。

0 投票する
0 に答える
208 参照

python - Python 2: HTMLParser から継承する抽象基本クラスを作成する

私は最新の Python 2 プロジェクト (2.7.12) で HTML パーサーを使用しています。すべての HTML パーサー サブクラスが継承できる単一の基本クラスを作成したいと考えています。HTMLParserただし、この基本クラス (から継承) も抽象基本クラスにしたいと思います。

ただし、このファイルを実行しようとすると、次のエラーが表示されます (スタック トレース付き)。

TypeError: Error when calling the metaclass bases a new-style class can't have only classic bases のようなSOの投稿を見つけて、私はすでに答えをたくさんグーグルで検索しました。ただし、その特定の投稿は、私が作成できる新しいスタイルのクラスを扱っており、私の特定のケース (つまり、Python stdlib のクラスから継承する抽象クラス) を説明する他のソースは見つかりませんでした。

私の疑惑は、HTMLParserPython 2.7 が提供するクラス自体が新しいスタイルのクラスではないということです。これが問題である場合、それについて何かできることはありますか? モジュールは、abcこの種の構成を実現する手段を提供しますか?

ありがとう、
カレブ