2016-04-22 2440 views

回答

6

这是因为type函数没有返回字符串。它返回一个类型“类型”:

>>> type(type('hi')) 
<type 'type'> 

你此刻在做那么,什么是比较型“类型”的类型“字符串”,这将有结果False

我建议使用isinstance

>>> isinstance('hi', str) 
True 
1

混乱可以被炮弹诱发。当其他人打印类型的表示时,一些显示类型名称。

作为说明

  • 蟒壳

    >>>type('jj') 
    <class 'str'> 
    
  • IPython的

    In [68]: type('a') 
    Out[68]: str 
    

这里使用的两个字符串:

In [69]: str.__name__ 
Out[69]: 'str' 

In [70]: repr(str) 
Out[70]: "<class 'str'>" 

如上所述isinstance是测试类型的好方法。

+0

对不同的方式获取对象的类型和结果很好的解释!但是,我被“炮弹”弄糊涂了。另外,你会在Python中尝试这个,而不是IPython。 –

相关问题