回答編集履歴
1
追記
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
|
私が見落としているだけで、他にも機能上実現できない点はあると思います。
|