python初心者です。
下記の質問をみて、特殊メソッド__call__と、その機能がインタンス作成後に関数的に引数を持たせられると知りました。
https://teratail.com/questions/259292
素朴にインスタンス作成時にコンストラクタに引数を持たせるほうがシンプルかなと思うのですが、__call__を使う利点などありますでしょうか?
コンストラクタ: init では対応できないことなどありますでしょうか?
(クラスを継承させたときに、新しいコンストラクタのプロパティー?(selfの値)を更新できるから__call__が利点なのですか?)
Python
1 2class ConstractTest: 3 def __init__(self, value): 4 self.value = value 5 print(self.value) 6 pass 7 pass 8 9 10class CallTest: 11 def __call__(self, value): 12 print(value) 13 pass 14 pass 15 16test_constracta = ConstractTest('constract hoge') 17 18test_call = CallTest() 19test_call('call hoge') 20 21>> constract hoge 22>> call hoge
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/21 22:57 編集
2021/07/21 23:41 編集
2021/07/21 23:53
2021/07/22 00:34
2021/07/22 01:00 編集
2021/07/22 01:20
2021/07/22 12:53
2021/07/22 12:54