2011-04-29 49 views

回答

10

您可以使用

type(obj1) is type(obj2) 

注意,你平时尽量避免在Python类型检查,而是依赖于duck typing

+1

最后一句应以粗体显示。如果减价支持,则为红色。这不能够拉伸。如果你认为你需要这样做,你最有可能不会,应该只是用鸭子搭售。 – delnan 2011-04-29 17:05:51

+7

当你关心实际类型时,你应该考虑使用'issubclass()'或'isinsntance()',因为在大多数情况下,当你在寻找'foo'时,你也会接受'foo'的子类。 – kindall 2011-04-29 17:17:14

+0

这已经很长时间了,但是你记得你用来测试你的答案的Python版本吗?也许你应该添加一个大的注释,答案可能不适用于其他版本。 E.g.它不适用于Python 2.7(许多系统中的默认设置,截至2016年)。但它可以与Python 3.4和3.5一起工作。 – m000 2016-09-09 15:00:49

-1

我想你想要做的就是使用类型(obj)。 :)

-EDIT-看起来他打败了我。他对鸭子的打字是正确的。

相关问题