首页 > 编程语言 > 详细

python学习之私有属性

时间:2020-04-08 14:56:55      阅读:72      评论:0      收藏:0      [点我收藏+]
class Mapping(object):
def __init__(self,iterable):
self.items_list=[]
self.__update(iterable)

def update(self,iterable):
for item in iterable:
self.items_list.append(item)
return self.items_list

__update=update

class MappingSubclass(Mapping):
def update(self,keys,values):
for item in zip(keys,values):
self.items_list.append(item)
return self.items_list

a=[1,2,3,4,5]
mapp=Mapping(a)
a1=mapp.update([6,8,9,10])
print(a1)
print(Mapping.__dict__)

b=[11,12,13]
mappsub=MappingSubclass(b)
b1=mappsub.update(‘name‘,‘zhao‘)
print(b1)

私有性:
1.双下划线(__)
Python为类元素(属性和方法)的私有性提供初步的形式。由双下划线开始的属性在运行时被“混淆”
所以直接访问是不允许的。会在名字前面加上下划线和类名。
名字混淆的另一个目的,是为了保护__XXX变量不与父类名字空间相冲突。
父类中有__XXX属性,它将不会被子类中__XXX属性覆盖

2.单下划线(_)
模块级私有化只需要在属性名前使用一个单下划线字符。这就防止模块的属性用
“from mymodule import*”来加载。



python学习之私有属性

原文:https://www.cnblogs.com/jinpingzhao/p/12659642.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!