为什么在python中,type(x)和print(x)显示的结果略有不同?
让 然后在ipython,我得到以下信息为什么在python中,type(x)和print(x)显示的结果略有不同?,python,types,Python,Types,让 然后在ipython,我得到以下信息 x = [1,2,3] print('type of x is:',type(x))不这样做,因为我得到了额外的类内容,如 type of x is; list [2]中的:打印('x的类型为:',类型(x)) x的类型为: 我测试类型(x)。它将始终输出。您直接获得列表的原因是我不能为您做额外的工作 使用type()将返回类型对象。使用\uuuuu name\uuuu操作它并获取类型名称 In [2]: print(' type of x is:
x = [1,2,3]
print('type of x is:',type(x))
不这样做,因为我得到了额外的类内容,如
type of x is; list
[2]中的:打印('x的类型为:',类型(x))
x的类型为:
我测试类型(x)
。它将始终输出
。您直接获得列表的原因是我不能为您做额外的工作
使用type()
将返回类型对象。使用\uuuuu name\uuuu
操作它并获取类型名称
In [2]: print(' type of x is: ', type(x))
type of x is: <class 'list'>
正如pwxcoo所说,这是Ipython
为您做一些额外的工作,请在普通的python shell中尝试,除非您显式地print(),否则它不会显示任何内容
it.我肯定会按照pwxcoo显示的方式来做。在我知道“name”是类型的属性之前,我是通过将类型转换为字符串并将其切分为以下方式来完成的:
print(' type of x is: ', type(x).__name__)
# type of x is: list
因此,这是一个很好的提醒,您可以运行dir(type)并查看_; name _;是一个属性,这样您就不必像我做的那样做了!来自文档:
类类型(对象)
有一个论点,
返回对象的类型。返回值是类型对象
建议使用isinstance()内置函数来测试
物体
要获取类的名称,可以通过引用特殊属性\uuuu name\uuuu
str(type(x)).split()[1][1:-2]
您可以在以下文档中找到有关\uuuuuuu name\uuuuuu
的更多信息:
str(type(x)).split()[1][1:-2]
print(type(x).__name__)