为什么type(string)不等于“<class'str'>”?

2024-09-29 23:23:46 发布

您现在位置:Python中文网/ 问答频道 /正文

在python3type('jjj')=="<class 'str'>"中,它的计算结果是False,而在python2中type('jjj')=="<type 'str'>"也有相同的结果。不知道为什么会这样,所以任何帮助(哪怕是一点点推动)都会很感激!在


Tags: falsetypeclass计算结果python2strjjjpython3type
2条回答

炮弹会引起混乱。有些显示类型名称,而另一些打印类型的表示形式。在

作为一个例子

  • Python壳

    >>>type('jj')
    <class 'str'>
    
  • 伊普顿

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

这里使用了两个字符串:

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

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

如前所述,isinstance是测试类型的好方法。在

这是因为type函数不返回字符串。它返回类型“type”:

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

所以现在您要做的是将类型“type”与类型“string”进行比较,结果是False。在

我建议使用isinstance

^{pr2}$

相关问题 更多 >

    热门问题