在python类中,如果我需要引用类成员变量,我需要有一个自我。在它之前。这是anonying,我可以不使用它但引用类成员吗?
感谢。 滨
答案 0 :(得分:6)
没有
>>> import this
...
Explicit is better than implicit.
...
答案 1 :(得分:3)
要引用类变量,您不需要显式self
。您需要它来引用对象(类实例)变量。要引用类变量,只需使用该类名,如下所示:
class C:
x = 1
def set(self, x):
C.x = x
print C.x
a = C()
a.set(2)
print a.x
print C.x
第一次打印会为您提供1
,其他人则为2
。
虽然可能不是您想要/需要的。 (类变量绑定到类,而不是对象。这意味着它们在该类的所有实例之间共享。顺便说一句,在上面的示例中使用self.x
将掩盖类变量。)
答案 2 :(得分:1)
我不知道一种访问对象属性的方法,就好像它们是全局变量而不是明确地解包它或其他东西。
如果您不喜欢输入self,可以根据需要为其命名,例如一个字母的名称。
答案 3 :(得分:1)
明确地写self
实际上是有帮助的。这鼓励了可读性 - 这是Python的优势之一。我个人认为它非常有用。
C ++中的类似参数是,当您使用using namespace std
时,只是为了保存std
命名空间的重复前缀。虽然这可以节省时间,但不应该这样做。
所以习惯写self
。说真的,需要多长时间!
答案 4 :(得分:0)
Python出于某种原因引用了自我显式。 Python项目的主要目标是可读性和简单性。 “这样做的一种正确方法”是拥有自我论证和明确的参考。
不要质疑the benevolent one ...