回答編集履歴

1

追記

2021/06/20 03:17

投稿

LouiS0616
LouiS0616

スコア35668

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