問題タブ [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 投票する
1 に答える
37 参照

python - なぜ object.__setattr__.__get__(self, Attribute) が attrs/_make.py の Attribute の __init__ に使用されるのですか?

私は作業を楽しんでattrおり、ソース コードの一部を読むことにしました。私の目を引いたのは、次の部分でした(source):

ここで_obj_setattrは として定義されobject.__setattr__ます。

なぜこれが行われるのか、私は興味があります。私はこのスタックオーバーフローの応答を読み、非常に便利だと思いましたが、__get__. 私は少し読んだことがありますdescriptorsが、それらについて頭を完全に包んでいません. それで、私の質問は、なぜ では_obj_setattr.__get__(self, A)("name", name)なく を使用するのobject.__setattr__(self, "name", name)かということです。

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

python - Python で記述子またはプロパティにメソッドを追加する方法

簡単に拡張できるシミュレーション クラスを作成しようとしています。このために、プロパティに似たものを使用したいと思いますが、それはupdateさまざまなユース ケースに対して異なる方法で実装できるメソッドも提供します。

デフォルトのシミュレーションは、次のように使用できます。

シミュレーションをユーザー定義の方法で拡張できるような方法で記述したいと思います。たとえば、別の方法で更新される別の数量を追加します。

それはどういうわけか可能ですか、それとも同様の動作を実現する別の方法はありますか? 私はこの質問を見たことがありますが、それは役立つかもしれませんが、答えは非常に洗練されていないようです - 私の場合、良いオブジェクト指向のアプローチはありますか?

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

python - Pythonで属性エラーを解決するには?

私はPythonで記述子を学んでいます。コードを試していますが、以下の属性エラーが発生します。

AttributeError: 'celciusDescriptor' オブジェクトに属性 '_celciusDescriptor__fahrenheit' がありません

華氏で温度を取得することにより、(華氏、摂氏) である (32,0) として出力を取得しようとしています。

'''

'''

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

python - Python 3.6+で記述子を実装する正しい方法は何ですか?

YouTube のRaymond Hettingersメンタル ゲームで:

Daw-Ran Liou はPython 3.6+ での記述子の記述 で次のように述べています。

[...] 組み込み関数 getattr および setattr を使用する代わりに、dictオブジェクトに直接到達する必要があります。これは、組み込み関数が記述子プロトコルによって傍受され、RecursionError が発生するためです。

しかし、YouTube のMatthew Egans Describing Descriptors は次のように述べています。

記述子を実装する正しい方法は何ですか?