在类中可以不使用“self”吗?
可能重复的问题:
Python:如何避免显式使用 'self'?
在Python的类里面,如果我想引用类的成员变量,就必须在前面加上self。这让我觉得很烦,有没有办法不使用这个self,直接引用类的成员呢?
谢谢。
Bin
相关问题:
5 个回答
1
明确写出 self 实际上是有帮助的。这有助于提高代码的可读性,这是Python的一大优点。我个人觉得这样做非常有用。
在C++中也有类似的说法,就是使用 using namespace std,这样可以省去重复写 std 前缀。虽然这样可以节省时间,但其实不应该这么做。
所以,习惯性地写 self 吧。说真的,这样做花不了多少时间!
3
要引用一个类变量,你不需要特别使用self。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会覆盖类变量。)
6
没有。
>>> import this
...
Explicit is better than implicit.
...