Только не делай этого. Просить что-то типа неправильно само по себе. Вместо этого используйте полиморфизм. Найдите или, при необходимости, определите самостоятельно метод, который делает то, что вы хотите для любого возможного типа ввода, и просто вызывайте его, ничего не спрашивая. Если вам нужно работать со встроенными типами или типами, определенными сторонней библиотекой, вы всегда можете наследовать их и использовать вместо этого собственные производные. Или вы можете обернуть их в своем классе. Это объектно-ориентированный способ решения таких проблем.
Если вы настаиваете на проверке точного типа и размещении грязных if
здесь и там, вы можете использовать свойство __class__
или type
, чтобы сделать это, но вскоре вы обнаружите, что обновляете все эти if
с дополнительными случаями каждые два или три коммита. Делая это, OO предотвращает это и позволяет вместо этого определять новый класс только для нового типа ввода.