問題タブ [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 - Python、getattrで2つの変数を使用しますか?
私は次のことをしようとしています:
しかし、エラーが発生しています:
getattrを呼び出す前にこれを試しましたが、それでも機能しません。
なぜこれが起こっているのか分かりません、アドバイスをいただければ幸いです
python - Pythonのgetattrは2回呼び出されますか?
この簡単な例を使用して、Pythonのgetattr関数を理解しています。
なぜbar
2回印刷されるのですか?Python2.6.5を使用します。
python - Python、Django、getattr(または他のメソッド)を使用して複数の属性を持つオブジェクトを呼び出す方法は?
これをしばらく機能させようとして周りを検索した後、私は本当に困惑しているので、ここに投稿しています... django用に書いているクラスの関数をできるだけ汎用的にしたいので、getattrを使用して呼び出します一般的な方法で以下のような関数:
私がそれを行う方法(非一般的な方法):
私の試みの1つは、これを一般的な方法で作成しますが、まだ機能していません。何かを返しますが、適切なオブジェクトタイプではないため、そこからデータを取得できます(djangoのデータベース呼び出し)
python - メソッドの __getattr__ と同等
属性が見つからない場合にobject.__getattr__
呼び出されます。未定義のメソッドをインターセプトする同等の方法はありますか?
python - getattr() とは正確には何ですか? また、どのように使用すればよいですか?
私は最近、関数について読みgetattr()
ました。問題は、私がまだその使用法を理解できないことです。私が理解している唯一のことは、getattr()
それgetattr(li, "pop")
が呼び出しと同じであることli.pop
です。
実行時まで名前を知らなくても関数への参照を取得するためにそれを使用する方法について本が言及したとき、私は理解できませんでした。たぶん、これは私が一般的にプログラミングの初心者であることです。誰かがこの主題に光を当てることができますか? これを正確にいつ、どのように使用するのですか?
python - Python 再帰的に __getattribute__
そのような動作を実装する必要があります:
obj のクラスをオーバーライドし__getattribute__
、何らかの形で Python 記述子も使用する必要があるようです。
アップデート:
私はdjangoプロジェクトを持っています。
obj は django-haystack の SearchResult インスタンスであり、django モデルからの多くの非正規化データ ( user__name
、 ) が含まれており、互換性の理由user__address
からアクセスする必要があります。result.user.name
THC4kの回答の更新:
私が持っている場合:
どんな助けでも大歓迎です。
python - __getattr__と__getattribute__の違いを理解する
__getattr__
との違いを理解しようとして__getattribute__
いますが、失敗しています。
スタックオーバーフローの質問に対する答えvsの違い__getattr__
__getattribute__
は次のとおりです。
__getattribute__
オブジェクトの実際の属性を確認する前に呼び出されるため、正しく実装するのは難しい場合があります。非常に簡単に無限再帰になってしまう可能性があります。
それが何を意味するのか全くわかりません。
それからそれは言い続けます:
あなたはほぼ間違いなく欲しいです
__getattr__
。
なんで?
__getattribute__
失敗した場合__getattr__
はと呼ばれることを読みました。では、なぜ同じことを行う2つの異なる方法があるのでしょうか。コードが新しいスタイルクラスを実装している場合、何を使用すればよいですか?
この質問をクリアするためのコード例を探しています。私は自分の能力を最大限に発揮してグーグルで検索しましたが、私が見つけた答えは問題を完全に議論していません。
ドキュメントがあれば、それを読む準備ができています。
python - PythonでXML-RPCメソッドを名前(文字列として)で呼び出すことはできますか?
Python では、XML-RPC メソッドの呼び出しには、プロキシ オブジェクトでのメソッドの呼び出しが含まれます。
perl などの他の言語では、メソッド名をメソッド パラメーターとして渡します。
PythonでXML-RPCメソッドを文字列として名前で呼び出す方法はありますか?
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 クラスに同じ変更を加えることを覚えておく必要があり、これはコード腐敗のレシピのようです。
python - python __getattr__ ヘルプ
本を読んで、このコードに出くわしました...
やりたいことはできますが、クラスの__getattr__
機能がわかりません。クラスManager
から他のすべての属性を委任することを知っています。Person
しかし、私はそれがどのように機能するかを理解していません。たとえば、なぜPerson
クラスから?はっきり言ってないから。person(module は Person(class) とは異なります
どんな助けでも大歓迎です:)