問題タブ [python-descriptors]

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 投票する
2 に答える
191 参照

python - Python 記述子

記述子ドキュメントから:

記述子は、そのメソッド名によって直接呼び出すことができます。たとえば、d.__get__(obj).

次のクラスでは、これの例は何でしょうか?

たとえば、とはdobjですか?"d.__get__(obj)"上記のクラス/インスタンスでどのように呼び出されますか?

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

python - staticmethod が「staticmethod」クラスにバインドされていないのはなぜですか?

Pythonで記述子がどのように機能するかを理解しようとしています。全体像は把握できましたが、@staticmethod デコレータを理解するのに問題があります。

私が具体的に参照しているコードは、対応する python ドキュメントからのものです: https://docs.python.org/3/howto/descriptor.html

私の質問は次のとおりです。self.f最後の行でアクセスされたときに、記述子自体として認識されずf(すべての関数が非データ記述子であるため)、StaticMethod オブジェクトである自己にバインドされますか?

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

python - クラス名を使用して Python で記述子属性の値を設定する

Python で記述子がどのように機能するかを理解しようとしています。以下のコードスニペットがあります。

クラス名を使用して記述子属性nameにアクセスすると、つまりPerson.nameget メソッドが呼び出されます。ただし、同じ方法で値を設定しようとすると、Person.name = 'Jack'set が呼び出されません。ここで、 set が呼び出されることを期待していました。

この振る舞いが理解できません。

Python 3.8 を使用しています。

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

python - オブジェクトの "__dict__" を __dict__ に格納できないのはなぜですか?

この回答では、インスタンスの"__dict__"属性をその .xml に直接保存できないことが言及されています__dict__。なんで?

さらに:instance.__dict__が に変換される場合、これは もに変換されるtype(instance).__dict__["__dict__"].__get__(instance)ことを意味しますか?instance.xtype(instance).__dict__["__dict__"].__get__(instance)["x"]

ところで、私は公式の記述子ドキュメントを読みましたが、これはまだ私を混乱させます.

ありがとう!