Python 类型对象


在 Python 中,一切皆为对象,包括类。所有类都是名为“type”的类的实例。“type”对象也是 type 类的实例。您可以通过检查类对象的 __bases__ 属性来检查类的继承层次结构。type() 方法返回作为参数传递的参数(对象)的类类型。如果将单个参数 type(obj) 传递给 type 方法,它将返回给定对象的类型。如果传递三个参数 type(name, bases, dict),它将返回一个新的类型对象。

使用 type()

让我们看看最常用的数据类型的类。在下面的程序中,我们初始化一些变量,然后使用 type() 来确定它们的类。

示例

 实时演示

# Some variables
a = 5
b = 5.2
c = 'hello'
A = [1,4,7]
B = {'k1':'Sun','K2':"Mon",'K3':'Tue'}
C = ('Sky','Blue','Vast')
print(type(a))
print(type(b))
print(type(c))

print(type(A))
print(type(B))
print(type(C))

输出

运行以上代码将得到以下结果:

<class 'int'>
<class 'float'>
<class 'str'>
<class 'list'>
<class 'dict'>
<class 'tuple'>

类的类型

如果我们深入了解以上类的类型,我们会发现它们都属于名为“type”的类。

示例

 实时演示

print(type(int))
print(type(dict))
print(type(list))

print(type(type))

输出

运行以上代码将得到以下结果:

<class 'type'>
<class 'type'>
<class 'type'>
<class 'type'>

创建新的对象类型

我们也可以使用与上述类似的方法来创建新对象。在这里,我们传递三个参数来创建新的类型对象。

示例

 实时演示

Object1 = type('A', (object,), dict(a='Hello', b=5))
print(type(Object1))
print(vars(Object1))
class NewCalss:
   a = 'Good day!'
   b = 7
Object2 = type('B', (NewCalss,), dict(a='Hello', b=5))
print(type(Object2))
print(vars(Object2))

输出

运行以上代码将得到以下结果:

<class 'type'>
{'a': 'Hello', 'b': 5, '__module__': '__main__', '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__doc__': None}
<class 'type'>
{'a': 'Hello', 'b': 5, '__module__': '__main__', '__doc__': None}

更新于: 2021年1月25日

8K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告