编辑这个页面须要登录或更高权限!

Python type() 使用方法及示例

Python 内置函数

type()函数根据所传递的参数返回对象的类型或返回新的类型对象。

type()函数具有两种不同形式:

type(object)
type(name, bases, dict)

具有单个对象参数的type()

如果将一个object传递给type(),该函数将返回其类型。

示例1:获取对象的类型

numbers_list = [1, 2]
print(type(numbers_list))

numbers_dict = {1: 'one', 2: 'two'}
print(type(numbers_dict))

class Foo:
    a = 0

foo = Foo()
print(type(foo))

输出结果

<class 'dict'>
<class 'Foo'>
<class '__main__.Foo'>

如果需要检查对象的类型,则最好改用Python的isinstance()函数。这是因为isinstance()函数还会检查给定的对象是否是子类的实例。

type()具有name, bases和dict参数

如果将三个参数传递给type(),它将返回一个新的type对象。

这三个参数是:

参数描述
name班级名称;成为__name__属性
bases列出基类的元组;成为__bases__属性
dict字典,它是包含类主体定义的名称空间;成为__dict__属性

示例2:创建一个类型对象

o1 = type('X', (object,), dict(a='Foo', b=12))

print(type(o1))
print(vars(o1))

class test:
  a = 'Foo'
  b = 12
  
o2 = type('Y', (test,), dict(a='Foo', b=12))
print(type(o2))
print(vars(o2))

输出结果

<class 'type'>
{'b': 12, 'a': 'Foo', '__dict__': <attribute '__dict__' of 'X' objects>, '__doc__': None, '__weakref__': <attribute '__weakref__' of 'X' objects>}
<class 'type'>
{'b': 12, 'a': 'Foo', '__doc__': None}

在程序中,我们使用了Python vars()函数来返回__dict__属性。__dict__用于存储对象的可写属性。

您可以根据需要轻松更改这些属性。例如,如果您需要将的__name__属性值o1更改为'Z',请使用:

o1.__name = 'Z'

Python 内置函数

Python 基础教程
Python 流程控制
Python 函数
Python 数据类型
Python 文件操作
Python 对象和类
Python 日期和时间
Python 高级知识
Python 参考手册