質問するログイン新規登録

回答編集履歴

1

追記

2021/06/20 03:17

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -57,4 +57,21 @@
57
57
  ---
58
58
  **註**
59
59
  細かい話をするなら、インスタンスそのものをクラス側の操作でキャストする方法は無いです。
60
+ ```Python
61
+ class Add:
62
+ def __init__(self, a, b):
63
+ self._a = a
64
+ self._b = b
65
+
66
+ def __call__(self):
67
+ return self._a + self._b
68
+
69
+ def __int__(self):
70
+ return self()
71
+
72
+ assert not isinstance( Add(1, 2), int)
73
+ assert isinstance( Add(1, 2)(), int)
74
+ assert isinstance(int(Add(1, 2)), int)
75
+ ```
76
+
60
77
  私が見落としているだけで、他にも機能上実現できない点はあると思います。