Python-获取对象信息type()

  1. 获取对象信息type()

获取对象信息type()

用于获得指定对象的类型

>>> type(123)
<class 'int'>

>>> type('hello')
<class 'str'>

>>> type([1, 2, 3])
<class 'list'>

>>> type({})
<class 'dict'>

>>> type((1,))
<class 'tuple'>

>>> type((1))       # 注意这不是元组,而是整型
<class 'int'>
>>> type(str)       # 类对象的类型是type,也就是说类对象是type的一个实例对象
<class 'type'>

>>> type(int)
<class 'type'>
>>> type(str)       # 类对象的类型是type,也就是说类对象是type的一个实例对象
<class 'type'>

>>> type(int)
<class 'type'>
>>> def func():     # 自定义函数对象的类型是function 
...     pass
...
>>> type(func)
<class 'function'>
>>> type(print)     # 内置函数对象的类型是builtin_function_or_method
<class 'builtin_function_or_method'>

可以使用运算符“==”来判断某个对象的类型是不是指定的类型。
对于基本数据类型,可以直接使用其对应的类型;

>>> type(18) == int
True

>>> type('hello') == str
True

>>> type([]) == list
True

如果不是基本数据类型,需要使用标准库中的模块types中定义的变量

>>> def func():
...     pass
...
>>>
>>> type(func) == function
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'function' is not defined

>>> type(print)
<class 'builtin_function_or_method'>
>>>
>>> type(print) == builtin_function_or_method
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'builtin_function_or_method' is not defined


>>> import types

>>> type(func) == types.FunctionType
True

>>> type(print) == types.BuiltinFunctionType
True

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 289211569@qq.com