我想知道您认为如何从类内的函数访问类属性。我还没有在 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(使用前将#替换为@)