回答編集履歴
1
追記
test
CHANGED
@@ -116,4 +116,38 @@
|
|
116
116
|
|
117
117
|
細かい話をするなら、インスタンスそのものをクラス側の操作でキャストする方法は無いです。
|
118
118
|
|
119
|
+
```Python
|
120
|
+
|
121
|
+
class Add:
|
122
|
+
|
123
|
+
def __init__(self, a, b):
|
124
|
+
|
125
|
+
self._a = a
|
126
|
+
|
127
|
+
self._b = b
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
def __call__(self):
|
132
|
+
|
133
|
+
return self._a + self._b
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
def __int__(self):
|
138
|
+
|
139
|
+
return self()
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
assert not isinstance( Add(1, 2), int)
|
144
|
+
|
145
|
+
assert isinstance( Add(1, 2)(), int)
|
146
|
+
|
147
|
+
assert isinstance(int(Add(1, 2)), int)
|
148
|
+
|
149
|
+
```
|
150
|
+
|
151
|
+
|
152
|
+
|
119
153
|
私が見落としているだけで、他にも機能上実現できない点はあると思います。
|