首页 > 解决方案 > python中的对象创建差异

问题描述

有什么区别

object = Class()

object = Class

由于上述两种方法都对我有用,而在 python 2 中没有给出任何错误

标签: python

解决方案


类是 Python 中的一等对象(不是双关语)。该名称 Class指的是一个类型为type;的值。当一个type值被调用时,它返回该类型的一个实例。

>>> class Class:
...   pass
...
>>> type(Class)
<class 'type'>

在您的第一个示例中,该名称object被分配了一个 type 的值Class

>>> object = Class(); object.__class__ is Class
True

在您的第二个示例中,名称object被分配了类型Class本身。

>>> object = Class; object is Class
True

推荐阅读