python类中的\uu attrName和attrName之间的区别?

2024-09-24 22:29:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图理解类属性值和下面python类中的值之间的区别。你知道吗

class WithClass ():
    def __init__(self, val = "Bob"):
        self.__value = val
    def my_func(self):
        print(self.value)
a = WithClass()
print(a.__value)
b = WithClass("Sally")
print(b.__value))

上面的代码给出错误“AttributeError:WithClass实例没有属性'\u value'”。但下面的代码没有给出任何错误。你知道吗

class WithClass ():
    def __init__(self, val = "Bob"):
        self.value = val
    def my_func(self):
        print(self.value)
a = WithClass()
print(a.value)
b = WithClass("Sally")
print(b.value))

两个属性的声明有什么区别?了解python中“\的重要性的任何资源都将不胜感激。你知道吗


Tags: 代码self属性initvaluemydefval
1条回答
网友
1楼 · 发布于 2024-09-24 22:29:40

在类变量前面添加两个下划线会导致“名称混乱”,有效地使变量对外部世界是私有的(因此类外的代码更改它并不是那么容易)。有关它的更多信息可以在pythondocumentation中查看。你知道吗

相关问题 更多 >