問題タブ [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.

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

python - Djangoは関連するプロパティに動的にアクセスしますか?

私はgetattrを使用して、次のように動的にモデルのプロパティにアクセスしています(Studentモデルにnameというプロパティがあると仮定します)。

これは問題なく機能しますが、たとえば、関連するレコードのプロパティに同じ方法でアクセスできるかどうか疑問に思っています(各学生がtitleというプロパティを持つ関連グループを持っていると仮定します)。

これで、「学生には属性group.titleがありません」というエラーが表示されます。

これを達成する方法はありますか?

アドバイスをいただければ幸いです。

ありがとう

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

python - getattr の問題

この 1 時間、作業中の IRC 対応プログラムのバグを突き止めようと頭を悩ませていましたが、デバッグを行った後、何らかの理由で getattr が正しく機能していないことがわかりました。次のテストコードがあります:

すべてが完璧に機能します。

以下を置き換えると、コードが壊れます (テキストを PyQT TextBrowser インスタンスに出力しません)

textFormatter 関数の 2 番目の引数を記述するこれらの 2 つの方法は、本質的に同等ではありませんか? なぜこれが起こるのでしょうか? また、このようなバグにどのようにアプローチするかについてのアイデアはありますか? ありがとう。

編集:これが役立つ場合に備えて、(簡単な) textFormatter クラスです:

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

python - getattrを介してdict要素を動的に取得しますか?

クラスから取得したいオブジェクトを動的に照会したいと考えています。getattrは私が望んでいるように思え、クラスのトップレベルのオブジェクトに対してはうまく機能します。ただし、サブ要素も指定したいと思います。

文字列を介してオブジェクトの辞書要素を取得するにはどうすればよいですか?

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

python - __getattr__ 定義属性のドキュメント

__getattr__別の関数を呼び出して読み取るようにカスタマイズする必要があります。

これは、help(object.attr) が機能しないことを除けば、うまく機能します。このコードはインタラクティブな環境で使用されるため、help() が重要になります。

同じ機能を実現するためのより良い設計はありますが、help() はうまく機能します。

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

python - __setattr__ オブジェクトの属性に見つからない名前のみ?

__setattr__のように、オブジェクトの属性に属性が見つからなかった場合にのみ使用したい__getattr__

本当にtry-exceptを使用する必要がありますか?

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

python - BeautifulSoup でキーの値を抽出する

次のような「archivo」キーの値を抽出したいと思います。

[bla.jpg, bli.jpg, ...] のリストが必要だと思うので、次のようなオプションを試します。

また

また

そして常に空のリストを取得します:[]

その他の失敗したオプション:

私は次のようなものを取得します: dict オブジェクトには属性の内容がありません

私は何も得ません。

最後に私は見ました:美しいスープの attrMap と attrs の違い、および:

namecodeまたはarchiveキーのタグである必要があります。

そして最後に:

しかし、tag.attrsは何も見つかりません


OK、jcollado の助けを借りて、次の方法でリストを取得できました。

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

python - Python インターセプト メソッド呼び出し

やりたいことを言うことから始めましょう。すべてのメソッド呼び出しと演算子呼び出しを記録し、後で呼び出す変数を指定するときにそれらを評価するように、変数の遅延ラッパーを作成したいと考えています。

そのため、すべてのメソッド呼び出し、オペレーター呼び出し、および特別なメソッドをインターセプトして、それらに取り組むことができるようにしたいと考えています。ただし、__getattr__オペレーター呼び出しなどをインターセプトしない__str__ため、すべてのメソッド呼び出しをオーバーロードする一般的な方法があるかどうか、またはクラスを動的に作成してそのすべてのコードを複製する必要があるかどうかを知りたい (既に行った) 、しかし醜い)。

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

python - getattr() が self.__dict__.get() よりも遅いのはなぜですか?

以下の例は、Python 2.7 の REST データベース ドライバーからのものです。

以下の__setattr__方法では、コメントアウトされたgetattr()行を使用すると、オブジェクトのインスタンス化のパフォーマンスが 600 rps から 230 に低下します。

この場合getattr()よりもはるかに遅いのはなぜですか?self.__dict__.get()

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

python - オブジェクト内のプライベート変数に到達するにはどうすればよいですか?

オブジェクトのプライベート変数を変更したい

上記のコードを試しましたが、プライベート変数に到達できないようですが、

プライベート変数を変更する方法はありますか?

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

python - 関数へのpython文字列:globals()vs sys.module vsディクショナリ

文字列を関数にマップする最良の方法を知りたいです。これまでのところ、私は使用できることを知っています:

  1. globals()[func_string]
  2. sys.modules[__name__]
  3. funcs_dictionary["func_string" : func]

コードは次のとおりです。

globals()[func_string]:

sys.modules[__name__]:

funcs_dictionary["func_string" : func]:

もともと、sys.modules[__name__] がモジュールをリロードしてパフォーマンスを低下させるのではないかと心配していました。しかし、上記のコードは関数ポインタが同じであることを示しているように見えるので、心配する必要はないのでしょうか?

オプション 1、2、3 の最適な使用例は何ですか?