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



  • 相关阅读:
    处理数据
    Vue--Vue常用指令及操作
    Vue--Vue实例
    ES6--解构赋值
    ES6--入门
    前端模块化开发
    Node.js--入门
    HTML5--canvas与svg的使用
    input整理
    移动端开发入门
  • 原文地址:https://www.cnblogs.com/jinpingzhao/p/12659642.html
Copyright © 2011-2022 走看看