【发布时间】:2021-11-28 04:43:07
【问题描述】:
我看到在下划线的帮助下,可以在类中声明私有成员,但只有一个分数,它仍然可以在 main 中访问,但有两个则不是。如果两个使变量私有,那么为什么只有一个分数?单下划线变量的用途/目的是什么?
class Temp:
def __init__(self):
self.a = 123
self._b = 123
self.__c = 123
obj = Temp()
print(obj.a)
print(obj._b)
print(obj.__c)
【问题讨论】:
-
是的@MisterMiyagi,我知道封装的概念,但我在python中不清楚
-
嗯,大概
a是公开的,_a是受保护的,__a是私有的。由于 Python 类是……与 C++/C#/……类不同的东西,但它并没有被强制执行。 -
@MisterMiyagi protected 在 Python 中并不是真正的东西。
-
@Matthias 其余的都不是。不过,这似乎是一个足够接近解释的类比。
标签: python class encapsulation