获取对象信息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