gpt4 book ai didi

python - 在类中访问类属性的pythonic方式

转载 作者:行者123 更新时间:2023-11-28 20:33:28 25 4
gpt4 key购买 nike

我想知道您认为如何从类中的函数访问类属性。我没有在 PEP8 中找到引用资料或关于它的热门问题。例如

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

# Way B:
print(MyClass.BAR)

通过“self”访问似乎是合理的,因为该属性属于同一个类,对于明显的同类引用的紧密引用。另一方面,通过类名本身进行访问是很清楚的,因为它是静态的,并且使使用的来源变得清晰,而且由于它与类的名称配对,因此可以更加清楚。 p>

最佳答案

明确命名类名时,您可以防止子类覆盖您的属性。

另一方面,使用 self 为您提供了这种灵 active 。考虑以下代码:

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

关于python - 在类中访问类属性的pythonic方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50567404/

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