当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python type()用法及代码示例


在本教程中,我们将借助示例了解 Python type() 函数。

type() 函数或者返回对象的类型,或者返回基于传递的参数的新类型对象。

示例

prime_numbers = [2, 3, 5, 7]

# check type of prime_numbers
result = type(prime_numbers)
print(result)

# Output: <class 'list'>

type() 语法

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

# type with single parameter
type(object)

# type with 3 parameters
type(name, bases, dict)

参数:

type() 函数采用单个 object 参数。

或者,它需要 3 个参数

  • name- 类名;成为 __name__ 属性
  • bases- 列出基类的元组;成为__bases__属性
  • dict- 一个字典,它是包含类主体定义的命名空间;成为__dict__属性

返回:

type() 函数返回

  • 对象的类型,如果只传递一个对象参数
  • 如果传递了 3 个参数,则为新类型

示例 1:type() 带有 Object 参数

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 'list'>
<class 'dict'>
<class '__main__.Foo'>

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

示例 2:type() 有 3 个参数

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'>
{'a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__': <attribute '__dict__' of 'X' objects>, '__weakref__': <attribute '__weakref__' of 'X' objects>, '__doc__': None}
<class 'type'>
{'a': 'Foo', 'b': 12, '__module__': '__main__', '__doc__': None}

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

如有必要,您可以轻松更改这些属性。例如,如果您需要将 o1__name__ 属性更改为 'Z' ,请使用:

o1.__name = 'Z'

相关用法


注:本文由纯净天空筛选整理自 Python type()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。