在类中可以不使用“self”吗?

4 投票
5 回答
4763 浏览
提问于 2025-04-16 06:53

5 个回答

1

明确写出 self 实际上是有帮助的。这有助于提高代码的可读性,这是Python的一大优点。我个人觉得这样做非常有用。

在C++中也有类似的说法,就是使用 using namespace std,这样可以省去重复写 std 前缀。虽然这样可以节省时间,但其实不应该这么做。

所以,习惯性地写 self 吧。说真的,这样做花不了多少时间!

3

要引用一个类变量,你不需要特别使用selfself是用来引用对象(类实例)的变量。要引用类变量,你只需要用类名就可以了,比如这样:

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.
...

撰写回答