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

python - Python、getattrで2つの変数を使用しますか?

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

しかし、エラーが発生しています:

getattrを呼び出す前にこれを試しましたが、それでも機能しません。

なぜこれが起こっているのか分かりません、アドバイスをいただければ幸いです

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

python - Pythonのgetattrは2回呼び出されますか?

この簡単な例を使用して、Pythonのgetattr関数を理解しています。

なぜbar2回印刷されるのですか?Python2.6.5を使用します。

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

python - Python、Django、getattr(または他のメソッド)を使用して複数の属性を持つオブジェクトを呼び出す方法は?

これをしばらく機能させようとして周りを検索した後、私は本当に困惑しているので、ここに投稿しています... django用に書いているクラスの関数をできるだけ汎用的にしたいので、getattrを使用して呼び出します一般的な方法で以下のような関数:

私がそれを行う方法(非一般的な方法):

私の試みの1つは、これを一般的な方法で作成しますが、まだ機能していません。何かを返しますが、適切なオブジェクトタイプではないため、そこからデータを取得できます(djangoのデータベース呼び出し)

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

python - メソッドの __getattr__ と同等

属性が見つからない場合にobject.__getattr__呼び出されます。未定義のメソッドをインターセプトする同等の方法はありますか?

0 投票する
14 に答える
314150 参照

python - getattr() とは正確には何ですか? また、どのように使用すればよいですか?

私は最近、関数について読みgetattr()ました。問題は、私がまだその使用法を理解できないことです。私が理解している唯一のことは、getattr()それgetattr(li, "pop")が呼び出しと同じであることli.popです。

実行時まで名前を知らなくても関数への参照を取得するためにそれを使用する方法について本が言及したとき、私は理解できませんでした。たぶん、これは私が一般的にプログラミングの初心者であることです。誰かがこの主題に光を当てることができますか? これを正確にいつ、どのように使用するのですか?

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

python - Python 再帰的に __getattribute__

そのような動作を実装する必要があります:

obj のクラスをオーバーライドし__getattribute__、何らかの形で Python 記述子も使用する必要があるようです。

アップデート:

私はdjangoプロジェクトを持っています。

obj は django-haystack の SearchResult インスタンスであり、django モデルからの多くの非正規化データ ( user__name、 ) が含まれており、互換性の理由user__addressからアクセスする必要があります。result.user.name

THC4kの回答の更新:

私が持っている場合:

どんな助けでも大歓迎です。

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

python - __getattr__と__getattribute__の違いを理解する

__getattr__との違いを理解しようとして__getattribute__いますが、失敗しています。

スタックオーバーフローの質問に対する答えvsの違い__getattr____getattribute__は次のとおりです。

__getattribute__オブジェクトの実際の属性を確認する前に呼び出されるため、正しく実装するのは難しい場合があります。非常に簡単に無限再帰になってしまう可能性があります。

それが何を意味するのか全くわかりません。

それからそれは言い続けます:

あなたはほぼ間違いなく欲しいです__getattr__

なんで?

__getattribute__失敗した場合__getattr__はと呼ばれることを読みました。では、なぜ同じことを行う2つの異なる方法があるのでしょうか。コードが新しいスタイルクラスを実装している場合、何を使用すればよいですか?

この質問をクリアするためのコード例を探しています。私は自分の能力を最大限に発揮してグーグルで検索しましたが、私が見つけた答えは問題を完全に議論していません。

ドキュメントがあれば、それを読む準備ができています。

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

python - PythonでXML-RPCメソッドを名前(文字列として)で呼び出すことはできますか?

Python では、XML-RPC メソッドの呼び出しには、プロキシ オブジェクトでのメソッドの呼び出しが含まれます。

perl などの他の言語では、メソッド名をメソッド パラメーターとして渡します。

PythonでXML-RPCメソッドを文字列として名前で呼び出す方法はありますか?

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

python - Django モデルで __getattr__ を使用できないのはなぜですか?

Django モデルを使用している人々の例をオンラインで見たことがありますが__getattr__、試行するたびにエラーが発生します。(ジャンゴ 1.2.3)

__getattr__通常のオブジェクトで使用している場合、問題はありません。例えば:

うまく動作します...

Django モデルで試してみると、次のようになります。

そして、インタプリタでテストします:

次のトレースバックは破損しているか無効である可能性があります エラーメッセージは次のとおりです: ('EOF in multi-line statement', (6, 0))

-------------------------------------------------- ------------------------- TypeError
トレースバック (最新の呼び出しが最後)

/Users/josh/project/ () 内

/Users/josh/project/lib/python2.6/site-packages/django/db/models/base.pyc in init (self, *args, **kwargs) 338 if kwargs: 339 raise TypeError("'%s ' はこの関数の無効なキーワード引数です" % kwargs.keys()[0]) --> 340 signal.post_init.send(sender=self. class , instance=self) 341 342 def repr (self):

/Users/josh/project/lib/python2.6/site-packages/django/dispatch/dispatcher.pyc in send(self, sender, **named) 160 161 for receive in self._live_receivers(_make_id(sender)): --> 162 応答 = 受信者 (信号 = 自己、送信者 = 送信者、**名前付き) 163 応答.追加 ((受信者、応答)) 164 返信応答

/Users/josh/project/python2.6/site-packages/photologue/models.pyc in add_methods(sender, instance, signal, *args, **kwargs) 728 """ 729 if hasattr(instance, 'add_accessor_methods') : --> 730 instance.add_accessor_methods() 731 732 # add_accessor_methods 関数を post_init シグナルに接続します

TypeError: 'int' オブジェクトは呼び出し可能ではありません

誰かが何が起こっているのか説明できますか?


編集: 例では抽象的すぎたかもしれません。Web サイトで実際に使用するコードに近いコードを次に示します。

Post クラスの属性ごとにプロパティを作成することもできますが、それでは多くのコードが重複することになりますさらに、Post クラスの属性を追加または編集するたびに、CuratedPost クラスに同じ変更を加えることを覚えておく必要があり、これはコード腐敗のレシピのようです。

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

python - python __getattr__ ヘルプ

本を読んで、このコードに出くわしました...

やりたいことはできますが、クラスの__getattr__機能がわかりません。クラスManagerから他のすべての属性を委任することを知っています。Personしかし、私はそれがどのように機能するかを理解していません。たとえば、なぜPersonクラスから?はっきり言ってないから。person(module は Person(class) とは異なります

どんな助けでも大歓迎です:)