問題タブ [getattr]
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 - __setattr__ を正しく使用し、無限再帰を回避する方法
次のように呼び出すことができるread
andメソッドを含むクラスを定義したいと思います。write
インターレースされたクラスを使用しないために、私の考えは__getattr__
と__setattr__
メソッドを上書きし、指定された名前がdevice
リターンを にリダイレクトするかどうかを確認することでしたself
。しかし、無限再帰を与える問題に遭遇しました。コード例は次のとおりです。
コードで__init__
新しい attribute を作成しようとすると、x
が呼び出さ__setattr__
れ、再び が呼び出さ__setattr__
れます。このコードを変更するにはどうすればよいですか。この場合、値を保持する の新しい属性x
がself
作成されます1
。
instance.device.read
または、「マップ」されるような呼び出しを処理するより良い方法はありますinstance.read
か?
理由については常に疑問があります。xmlrpc
呼び出しの抽象化を作成する必要があるため、非常に簡単なメソッドなどmyxmlrpc.instance,device.read
を作成できます。このようなマルチドットメソッド呼び出しを模倣するには、これを「モック」する必要があります。
python - Django Admin で外部キーからフィールドに動的にアクセスする方法
だから私はこのようなモデルを持っています:
次に、HoneyBadger の管理インターフェイスに、クリーチャーの名前と有名人の所有者フィールドを表示するようにします。
標準的なアドバイスは、次のようなことです。
そして、管理者でそれらのメソッドを参照します。
代わりに、すべての入力を節約する方法が必要です!
怠惰なショートカットでの私の最初の試みは次のとおりです。
シェルで実行するとうまくいきますが、Django 管理者は気に入っていません。次のエラーが表示されます。
自分のコードを管理者と連携させる方法を知っている人はいますか? または、有名人のフィールドごとにメソッドを入力するのを節約する別の方法があるかどうかは? (おそらく、ある種のランタイム モンキー パッチ?)
python - lamba での奇妙な動作: リスト内の getattr(obj, x)
次の例では:
4
を呼び出すと、常に取得していgetter
ます:
どうして!?
python - 文字列からクラス オブジェクトを取得する
urls.py の URL を生成するために、次のように書いています。
モジュールoverview
とがあり、それぞれcontent
クラスOverview
ととがあります。Content
Uploader
view
配列 (例:[ 'Index' ]
単一の要素を含む) の場合、モジュールの大文字形式 (例: become ) を使用しoverview
てOverview
ルートを生成します。
一方、2 つの要素 (例: [ 'Uploader', 'Default' ]
) が含まれる場合、最初の要素はクラス名を指定し、2 番目の要素はメソッドを指定します。
お気づきかもしれませんが、問題は、getattr()
最初の引数にクラス参照が必要な の使用にあります。したがって、私の質問は、クラスオブジェクトの識別子を含む文字列からクラス オブジェクトを取得する方法があるかどうかです。Uploader
'Uploader'
免責事項として、これらは私の正確なルートではなく、単なる例です. そしてもちろん、ここでも私の全体的なデザインに関してさらにコメントを歓迎します.
python - Maya python のリストからオブジェクトの属性を取得または設定する方法は?
translateY
のオブジェクトなどのAttr を取得または設定する方法list
。
django - django: getattr 関数 (フィールド名を取得)
関数 getattr を機能させることができません。これが私のコードです:
どうしたの?
python - getattr のみで関数を返す Python オブジェクト
http://effbot.org/zone/python-getattr.htmでは、次のように述べています
私を混乱させているのは、動的なクラスメソッド生成を備えたクラスを持つモジュールがあることです。__dict__ を呼び出すと返されるため、生成が機能することがわかっています
私を混乱させているのは、 getattr が機能する一方で、属性を直接呼び出すことはできないという顔です