Может кто-нибудь дать мне объяснение, почему isinstance()
возвращает True в следующем случае? Я ожидал False, когда писал код.python сравнение boolean и int using isinstance
print isinstance(True, (float, int))
True
Мое предположение было бы, что внутренние подклассы своего питона, как ноль и один - Wheter поплавка или INT - как оценить при использовании в качестве булева, но не знают точную причины.
Какой был бы самый питонический способ решить такую ситуацию? Я мог бы использовать type()
, но в большинстве случаев это считается менее питоническим.
Это второй случай. Это означает, что нужно следить за порядком сравнений этих встроенных типов - понятным с учетом наследования, но довольно необычным для python. – jake77