問題タブ [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 - Djangoは関連するプロパティに動的にアクセスしますか?
私はgetattrを使用して、次のように動的にモデルのプロパティにアクセスしています(Studentモデルにnameというプロパティがあると仮定します)。
これは問題なく機能しますが、たとえば、関連するレコードのプロパティに同じ方法でアクセスできるかどうか疑問に思っています(各学生がtitleというプロパティを持つ関連グループを持っていると仮定します)。
これで、「学生には属性group.titleがありません」というエラーが表示されます。
これを達成する方法はありますか?
アドバイスをいただければ幸いです。
ありがとう
python - getattr の問題
この 1 時間、作業中の IRC 対応プログラムのバグを突き止めようと頭を悩ませていましたが、デバッグを行った後、何らかの理由で getattr が正しく機能していないことがわかりました。次のテストコードがあります:
すべてが完璧に機能します。
以下を置き換えると、コードが壊れます (テキストを PyQT TextBrowser インスタンスに出力しません)
textFormatter 関数の 2 番目の引数を記述するこれらの 2 つの方法は、本質的に同等ではありませんか? なぜこれが起こるのでしょうか? また、このようなバグにどのようにアプローチするかについてのアイデアはありますか? ありがとう。
編集:これが役立つ場合に備えて、(簡単な) textFormatter クラスです:
python - getattrを介してdict要素を動的に取得しますか?
クラスから取得したいオブジェクトを動的に照会したいと考えています。getattrは私が望んでいるように思え、クラスのトップレベルのオブジェクトに対してはうまく機能します。ただし、サブ要素も指定したいと思います。
文字列を介してオブジェクトの辞書要素を取得するにはどうすればよいですか?
python - __getattr__ 定義属性のドキュメント
__getattr__
別の関数を呼び出して読み取るようにカスタマイズする必要があります。
これは、help(object.attr) が機能しないことを除けば、うまく機能します。このコードはインタラクティブな環境で使用されるため、help() が重要になります。
同じ機能を実現するためのより良い設計はありますが、help() はうまく機能します。
python - __setattr__ オブジェクトの属性に見つからない名前のみ?
__setattr__
のように、オブジェクトの属性に属性が見つからなかった場合にのみ使用したい__getattr__
。
本当にtry-exceptを使用する必要がありますか?
python - BeautifulSoup でキーの値を抽出する
次のような「archivo」キーの値を抽出したいと思います。
[bla.jpg, bli.jpg, ...] のリストが必要だと思うので、次のようなオプションを試します。
また
また
そして常に空のリストを取得します:[]
その他の失敗したオプション:
私は次のようなものを取得します: dict オブジェクトには属性の内容がありません
私は何も得ません。
最後に私は見ました:美しいスープの attrMap と attrs の違い、および:
name、codeまたはarchiveキーのタグである必要があります。
そして最後に:
しかし、tag.attrsは何も見つかりません
OK、jcollado の助けを借りて、次の方法でリストを取得できました。
python - Python インターセプト メソッド呼び出し
やりたいことを言うことから始めましょう。すべてのメソッド呼び出しと演算子呼び出しを記録し、後で呼び出す変数を指定するときにそれらを評価するように、変数の遅延ラッパーを作成したいと考えています。
そのため、すべてのメソッド呼び出し、オペレーター呼び出し、および特別なメソッドをインターセプトして、それらに取り組むことができるようにしたいと考えています。ただし、__getattr__
オペレーター呼び出しなどをインターセプトしない__str__
ため、すべてのメソッド呼び出しをオーバーロードする一般的な方法があるかどうか、またはクラスを動的に作成してそのすべてのコードを複製する必要があるかどうかを知りたい (既に行った) 、しかし醜い)。
python - getattr() が self.__dict__.get() よりも遅いのはなぜですか?
以下の例は、Python 2.7 の REST データベース ドライバーからのものです。
以下の__setattr__
方法では、コメントアウトされたgetattr()
行を使用すると、オブジェクトのインスタンス化のパフォーマンスが 600 rps から 230 に低下します。
この場合getattr()
よりもはるかに遅いのはなぜですか?self.__dict__.get()
python - オブジェクト内のプライベート変数に到達するにはどうすればよいですか?
オブジェクトのプライベート変数を変更したい
上記のコードを試しましたが、プライベート変数に到達できないようですが、
プライベート変数を変更する方法はありますか?
python - 関数へのpython文字列:globals()vs sys.module vsディクショナリ
文字列を関数にマップする最良の方法を知りたいです。これまでのところ、私は使用できることを知っています:
- globals()[func_string]
- sys.modules[__name__]
- funcs_dictionary["func_string" : func]
コードは次のとおりです。
globals()[func_string]:
sys.modules[__name__]:
funcs_dictionary["func_string" : func]:
もともと、sys.modules[__name__] がモジュールをリロードしてパフォーマンスを低下させるのではないかと心配していました。しかし、上記のコードは関数ポインタが同じであることを示しているように見えるので、心配する必要はないのでしょうか?
オプション 1、2、3 の最適な使用例は何ですか?