【发布时间】:2022-12-12 15:04:26
【问题描述】:
class one:
__x=20 #private
def fun1(self):
print(self.__x)
class two(one):
y=200 #public
def fun2(self):
print(one.__x+self.y)
t1=two()
t1.fun1()
t1.fun2()
我试图访问 fun2 但它没有打印。我知道它采用私有数据形式,但需要帮助才能了解访问该数据的方法。我应该明确地更改表格还是我们仍然可以访问该数据?
【问题讨论】:
-
抛开名称修改是否“私有”的问题,你为什么制作如果你是私人的不想要给你的行为?
-
谷歌术语“Python name mangling”。 Python 有意将所有以双分数开头(但不以双下划线结尾)的类变量和方法的名称转换为特殊形式,以便它们不会被另一个类意外访问。正如@user2357112 所说,如果您不想将其设为私有,为什么要将其设为私有?
标签: python function oop private