一尘不染

Python的“属性”和“属性”之间有什么区别?

python

对于“属性”和“属性”之间的区别,我通常感到困惑,并且找不到很好的资源来简洁地详细说明这些区别。


阅读 168

收藏
2020-12-20

共1个答案

一尘不染

属性是一种特殊的属性。基本上,当Python遇到以下代码时:

spam = SomeObject()
print(spam.eggs)

它查找eggsspam,然后检查eggs,看它是否有一个__get____set____delete__方法-
如果这样做,这是一个性质。如果它
一个属性,则不仅会返回该eggs对象(就像对其他任何属性一样),还会调用该__get__方法(因为我们一直在进行查找),并返回该方法返回的内容。

有关Python的数据模型和描述符的更多信息。

2020-12-20