問題タブ [python-datamodel]
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 - Pythonメソッドがバインドされているかどうかをどのように確認しますか?
メソッドへの参照が与えられた場合、メソッドがオブジェクトにバインドされているかどうかを確認する方法はありますか?バインドされているインスタンスにもアクセスできますか?
python - Python のメタクラスとは何ですか?
Python では、メタクラスとは何ですか? また、それらを何に使用しますか?
python - オブジェクトの現在のすべてのプロパティと値を出力する組み込み関数はありますか?
したがって、ここで探しているのは、PHPのprint_r関数のようなものです。
これは、問題のオブジェクトの状態を確認することでスクリプトをデバッグできるようにするためです。
python - メソッドのパラメータ名を取得するには?
与えられた Python 関数:
引数の数と名前を抽出するにはどうすればよいですか。つまり、 への参照があることを考えると、が を返すようにしfunc
たいのです。func.[something]
("arg1", "arg2")
これの使用シナリオは、デコレーターがあり、実際の関数にキーとして表示されるのと同じ順序でメソッド引数を使用したいということです。"a,b"
つまり、私が呼び出したときにデコレータはどのように表示されますa_method("a", "b")
か?
python - Pythonクラスの各プロパティとメソッドがどこで定義されているかをどのように判断しますか?
Pythonのあるクラスのインスタンスが与えられた場合、各メソッドとプロパティを定義したソースコードの行を判別できると便利です(たとえば、 1を実装するため)。たとえば、モジュールab.pyが与えられます
定義またはサブクラス化されたソースコード内のファイル名、クラス、および行を含むタプルを返す関数whither(class_、attribute)を定義しattribute
ます。これは、熱心なダイナミズムによる最新の割り当てではなく、クラス本体での定義を意味します。一部の属性に対して「不明」を返す場合は問題ありません。
Ploneを内省するときにこれを使用したいと思います。ここでは、すべてのオブジェクトに数百のメソッドがあり、アルファベットだけでなくクラス別に整理すると非常に便利です。
もちろん、Pythonでは常に合理的に知ることはできませんが、ほとんど静的なコードの一般的なケースで良い答えを得るのは素晴らしいことです。
python - dir(x) 内のすべての名前が属性アクセスに有効ではないのはなぜですか?
__dict__
コーダーが属性アクセスに使用できないものを詰め込むのはなぜですか? たとえば、私の Plone インスタンスでdir(portal)
はindex_html
、 が含まれていますがportal.index_html
、AttributeError が発生します。__class__
の属性についても同様ですProducts.ZCatalog.Catalog.mybrains
。dir()
信頼できない正当な理由はありますか?
inspect
モジュールを調べてみると、この理由と魔法をトリガーしたくないため、属性アクセスの代わりに使用していることがわかりますobject.__dict__['x']
。getattr
python - インスタンスのクラス名を取得しますか?
Python でオブジェクトのインスタンスを作成したクラスの名前を調べるには、これを実行している関数が、インスタンスのクラスが派生した基底クラスである場合、どうすればよいですか?
inspect モジュールがここで私を助けてくれたかもしれないと考えていましたが、私が望むものを与えてくれないようです。メンバーを解析する__class__
までもなく、この情報を取得する方法がわかりません。
python - スーパー(python 2.5.2)の使用に関する問題
私は自分のプログラムのプラグイン システムを書いていますが、次の 1 つの問題を乗り越えることができません。
テスト プラグインは次のようになります。
IPlugin は次のようになります。
すべての IPlugin クラスは、それ自体で問題なく動作しますが、ThingLoader によって呼び出されると、プログラムは例外を取得します。
私は周りを見回しましたが、何が起こっているのかわかりません。
python - Python リフレクションと型変換
Python では、通常、str()、int()、float() などの関数を使用して型変換を実行します。ただし、これらは開発時にどの型に変換したいかを知る必要があります。私が書こうとしているいくつかの Python コードのサブ問題は次のとおりです。
foo
2 つの変数とが与えられた場合bar
、 の型を見つけますfoo
。(これは汎用コードであるため、開発時には不明です。) 次に、bar
どのような型にも変換を試みfoo
ます。これができない場合は、例外をスローします。
たとえば、これを行う関数を呼び出すとしますconv
。その署名は次のようになります
それは次のように呼ばれます: