访问类中的类属性的 Pythonic 方法

2023-12-20

我想知道您认为如何从类内的函数访问类属性。我还没有在 PEP8 中找到参考资料,也没有找到关于它的常见问题。例如

class MyClass(object):
    BAR = 1
    def foo(self):
        # Way A:
        print(self.BAR)

        # Way B:
        print(MyClass.BAR)

通过“self”访问似乎是合理的,因为该属性属于同一个类,紧密引用明显的同类引用。 另一方面,通过类名本身进行访问是清晰的,因为它是静态的,并且使使用的起源清晰,并且因为它与类配对,所以也可以更清晰。name.


When 明确性命名类名,可以防止子类压倒性的你的属性。

另一方面,使用self给你这个灵活性。考虑以下代码:

class MyClass(object):
    BAR = 1
    def foo(self):
        # Way A:
        print(self.BAR)

        # Way B:
        print(MyClass.BAR)


class SubClass(MyClass):
    BAR = 2

class SubClass2(MyClass):
    pass

# output
>>> a = SubClass()
>>> a.foo()
2
1
>>> b = SubClass2()
>>> b.foo()
1
1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问类中的类属性的 Pythonic 方法 的相关文章

随机推荐