gpt4 book ai didi

python - Python 如何跟踪对象的类型

转载 作者:行者123 更新时间:2023-12-01 01:31:43 25 4
gpt4 key购买 nike

我正在学习类,想了解 python 如何跟踪对象的类型。我想,很容易知道 int 的类型是什么,因为它是内置类型

but now suppose, I have the following code: 
class Point:
def __init__(self, x,y):
self._x=x
self._y=y

def draw(self):
print(self._x, self._y)
p1=Point(1,2)

python如何知道这个对象是p类型的。据我所知,如果我想知道 p1 的类型,我会调用 type(p1) ,但我想知道该类型在内存中是如何表示的。我认为它是从 object 类继承的属性,在调用构造函数时设置,但是当我调用 print(object.__dict__) 时,没有类型属性。

最佳答案

我不想让您与元类混淆,所以我将给出一个简短的解释。 __class__对象的属性返回该实例的类,您在此处引用“类型”。

p1.__class__

返回这个。

__main__.Point

__main__是模块并且 Point显然是类。

然而,事情还不止这些。类也是对象,当您调用时

Point.__class__

它返回type ,和type是Python中的元类。基本上,类的类就是类型。

关于python - Python 如何跟踪对象的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52800796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com