zoukankan      html  css  js  c++  java
  • python学习之私有属性

    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*”来加载。



  • 相关阅读:
    JavaBean和Map之间的转化
    java基础Map遍历
    sql server
    android之使用百度地图(1)
    Java基础知识2(字符串)
    Java基础知识1
    DAY12-Java中的类--接DAY10
    DAY11-LocalDate小练习
    DAY10-万物皆对象-2018-2-2
    DAY9-字符串笔记整理2018-1-19
  • 原文地址:https://www.cnblogs.com/jinpingzhao/p/12659642.html
Copyright © 2011-2022 走看看