問題タブ [setattr]

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

python - 文字列内の名前でプロパティを作成する方法は?

Pythonを使用して、クラスにプロパティを作成したいのですが、その名前を文字列にしています。通常、次のようにします。

get_、set_、および del_blah は適宜定義されています。次のように、変数のプロパティの名前で同じことを試みました。

しかし、それはうまくいきません。最初のケースではプロパティの値が返され、2 番目のケースではプロパティ、つまり が返されます<property object at 0xbb1aa0>。機能するように定義するにはどうすればよいですか?

0 投票する
9 に答える
9193 参照

python - Python __init__ setattr on arguments?

多くの場合、__init__メソッドはこれに似ているようです。

*args引数を(またはに頼らずに)リストに変換し、パラメーターの名前と渡された引数を使用してインスタンス変数を設定するため**kwargsに使用する方法はありますか?そして多分リストをスライスします、例えばあなたが望まないのであなたはsetattr少なくともそれをスライスする必要があるでしょう。[1:]self.self

(実際には、名前と値を保持するための辞書である必要があると思います)

このような:

ありがとう!

不明の答えに答えて、私はこれがうまくいくことを発見しました:

また

悪くない..

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

python - Jython 2.1 __getattr__

jython v2.1 で Java オブジェクト (baseClient) のラッパー/プロキシ クラスを実装しようとしています。次のステートメントが発生した場合を除いて、すべてが正常に機能しているようです。

raise AttributeError(attr)属性がない__getattr__()ため、で呼び出されます。jython はシステムの一部であるため、アップグレードできないことに注意してください。この問題を回避する方法はありますか?self.__baseClient__ne__

どうもありがとう!

0 投票する
3 に答える
124 参照

python - オーバーライドされた属性アクセスが機能しない(期待どおり)

次のモジュールの主な目的は、いくつかの名前に一種の「一定の」セマンティクスを提供することです。

使用時:

それでonetwoそこにありますが、属性アクセスは期待外れです:

この場合、私が期待1したところ。私はどこが間違っていますか?

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

python - __setattr__の「name」パラメータにクラスが含まれているのに__getattr__が含まれていないのはなぜですか?

次のコード:

出力:

「名前」が「属性の名前」であると記載されているドキュメントはまったく役に立ちませんが、何らかの理由で、設定するか取得するかによって異なります。

私が知りたいのは:

  • 私はここで根本的に間違ったことをしていますか?
  • x代わりに最初のケースを取得するにはどうすればよい_MyClass__xですか?
0 投票する
4 に答える
16197 参照

python - クラスの定義中にPythonで指定された名前のクラス属性を設定する

私はこのようなことをしようとしています:

setattrしかし、クラス定義で変数を割り当てるのと同じように動作させるためのクラスへの参照が見つからないようです。これどうやってするの?

0 投票する
4 に答える
62748 参照

python - 現在のモジュールでsetattr()を呼び出すにはどうすればよいですか?

現在のモジュールに変数を設定するために、最初のパラメーター " object"として関数に何を渡しますか?setattr(object, name, value)

例えば:

と同じ効果を与える:

これらの行を含むモジュール内(正しいobject)。

モジュールレベルで動的にいくつかの値を生成しますが、モジュールレベルで定義できないため__getattr__、これがフォールバックです。

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

python - __setattr__ を経由せずにクラス属性を作成する

以下にあるのは、一連のデータを属性として簡単に保存するために作成したクラスです。それらは辞書に格納されてしまいます。と をオーバーライド__getattr____setattr__て、さまざまな種類の単位で値を保存および取得します。オーバーライドを開始したとき__setattr__、2行目の最初の辞書を作成するのに問題がありました__init__...

super(MyDataFile, self).__setattr__('_data', {})

私の質問... を介してクラスレベルの属性を作成する簡単な方法はあります__setattr__か? また、別の辞書を保持することを心配する必要がありますか、それともすべてをに保存する必要がありself.__dict__ますか?

0 投票する
3 に答える
489 参照

google-app-engine - App Engineモデルで属性に動的に名前を付けることは可能ですか?

setattrPythonクラスの属性に動的に名前を付けることができます。AppEngineモデルで同様のことをしようとしています。

このコードはコンパイルされますが、model.prop1.append(key)後で呼び出すと、次のエラーが発生します。

これは、prop1がではなくモデルで宣言されているためself.prop1だと思いますが、構文の重要性を完全には理解していません。

誰かがこれを達成しましたか、または誰かが構文の違いについて何か洞察を持っていますか?