数据隐藏如何在Python类中工作?
资料隐藏
在Python中,我们在属性名称前使用双下划线,以使它们不可访问/私有或将其隐藏。
以下代码显示了如何隐藏变量__hiddenVar。
示例
class MyClass:
__hiddenVar = 0
def add(self, increment):
self.__hiddenVar += increment
print (self.__hiddenVar)
myObject = MyClass()myObject.add(3)
myObject.add (8)
print (myObject.__hiddenVar)输出结果
3
Traceback (most recent call last):
11
File "C:/Users/nhooo1/~_1.py", line 12, in <module>
print (myObject.__hiddenVar)
AttributeError: MyClass instance has no attribute '__hiddenVar'在上面的程序中,我们尝试使用object访问类外部的隐藏变量,它引发了异常。
我们可以使用以下特殊语法来访问hidden属性的值-
示例
class MyClass:
__hiddenVar = 12
def add(self, increment):
self.__hiddenVar += increment
print (self.__hiddenVar)
myObject = MyClass()myObject.add(3)
myObject.add (8)
print (myObject._MyClass__hiddenVar)输出结果
15 23 23
可以从类的外部访问私有方法,但不像通常情况下那样容易。Python中没有什么是真正私有的。在内部,私有方法和属性的名称会被即时修改和修改,以使它们的给定名称不可访问。
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短