そもそも型がないとはなんぞや?
型がない言語にPythonが書いてあるけど、Pythonにもちゃんと型ぐらいあるよ。ほら!
print(123) print("abc")
(;´Д`) 「いや、そうじゃなくて。問題になっているのは同じ変数に違う型の値を代入できるってことでしょ……。」
a = 123 a = "abc"
それならC++だっていっしょじゃないか。ほら!
class foo {}; class bar : public foo {}; int main() { foo *f; f = new foo(); f = new bar(); return 0; }
(;´Д`) 「それはbarがfooのサブクラスだから代入できるだけでしょ……。」
Pythonでは整数も文字列もobjectのサブクラスのインスタンスだから同じことだよ。ほら!
print(isinstance(123, object)) # True print(isinstance("abc", object)) # True
(;´Д`) 「……。」
※これはネタ記事です。真面目に突っ込まないようお願いしますよ。