私はクラスのためにPythonでカリングを学習しようとしています。そのために()演算子をオーバーロードする必要があります。しかし、私はどのように私は()演算子のオーバーロードに行くことができるか分かりません。あなたは括弧のオーバーロードの背後にある論理を説明できますか?最初に過負荷にする必要がありますか?また、かっこ演算子の特別な名前はありますか?PythonのOverload()演算子
答えて
あなたは__call__
メソッド実装することで、オブジェクトが呼び出し可能にすることができます。[呼び出し可能オブジェクトをエミュレート]
class FunctionLike(object):
def __call__(self, a):
print "I got called with %r!" % (a,)
fn = FunctionLike()
fn(10)
# --> I got called with 10!
追加などの呼び出し可能オブジェクトで基本操作を行うことはできますか? – jdyg
ほとんどすべての言語操作を提供できます:http://docs.python.org/2/reference/datamodel.html#special-method-names –
'()'は本質的に問題のオブジェクトを呼び出す呼び出し演算子ですある種の議論(またはその不在)? – MadPhysicist
- 1. C++のoverload()括弧の演算子
- 2. Pythonのビット演算子 '&' 演算子
- 3. Scala/Chiselの型パラメータを持つOveride/Overload演算子
- 4. Overload []メモリ参照を使用するPython演算子と連鎖メソッド
- 5. Pythonコロン演算子
- 6. python 2.7 //演算子
- 7. ++ i演算子(Python)
- 8. オーバーロード=演算子Python
- 9. とPythonリストの演算子
- 10. Pythonのインプレースブール演算子
- 11. python演算子、 "not in"の演算子なし
- 12. Pythonのブール演算子および論理演算子
- 13. 演算子( - - )()演算子C#
- 14. 演算子if演算子
- 15. PythonでAND演算子とNOT演算子を使用する
- 16. python +演算子オーバーロード問題
- 17. "<" 演算子は、Python
- 18. Python比較演算子
- 19. 演算子のオーバーロード演算
- 20. C++演算子()括弧 - 演算子Type()vs型演算子()
- 21. C++演算子+演算子+ =オーバーロード
- 22. XOR演算子とstd :: ostream演算子
- 23. Xval演算子と比較演算子?
- 24. 共有ポインタ[]演算子と++演算子
- 25. は、Invoke演算子&演算子はKotlin
- 26. C++:演算子オーバーロード、演算子+
- 27. Java演算子 - > how ==演算子
- 28. Pythonでブール演算子を使用するためのビット演算子のオーバーロード
- 29. のPython演算子のオーバーロードと__init__メソッド
- 30. Pythonの '逆の'比較演算子
を(http://docs.python.org/2/reference/datamodel.html#emulating-callable-オブジェクト) – soon