为什么可以从实例访问类属性

时间:2018-07-17 11:00:38

标签: python class

我们有一个具有一个class数据属性的简单类:

class Foo:
    bar = 1

您现在可以通过以下两种方式在类外部访问bar属性:

Foo.bar
Foo().bar

第一种方法只是在类bar中寻找Foo类属性。第二种方法as I understood首先在实例bar中查找Foo()实例属性,但找不到任何内容(因为Foo()实例中没有实例属性)因此它开始在类bar的命名空间中寻找Foo类属性。

从我的角度来看,有两种几乎相同的方式访问class属性,因此我总是很难选择其中一种。为什么有两种方法呢?您能否显示一个示例代码来证明第二种方法的重要性?如果不允许从实例访问类属性,则代码将更加复杂/不清楚。

0 个答案:

没有答案
相关问题