class Test:
def __init__(self):
print('Object reference:', id(self))
print('Class object reference', id(Test))
t = Test()
对象参考:2170838573008
类对象引用:2170806511808
它与类名不同。一切都是Python中的对象。类是,它们的实例也是。即使是模块和功能,也只是一切。
类名和类对象不一样。当您创建类的实例时,您将为该类创建一个对象。在您的案例中,t
是类测试的对象。
python中几乎所有的东西都是对象。就像你的类是一种对象一样。
class Test:
def __init__(self):
print('Object reference:',id(self))
print('Class object reference',id(Test))
t = Test() // Here t is object of class Test.
使用class
关键字时,实际上是在创建一个类型为type
的实例。类本身就是实例。
class Test:
pass
print(isinstance(Test, type)) # True
print(type(Test)) # <class 'type'>
这里,Test
只是全局命名空间中的一个标签,它指向您创建的这个实例。
现在,当你调用你的类,这里是Test
,你正在创建它的一个实例。self
在你的类中,指向这个对象(你的类的实例(。