• 第二发


    #OO继承了object
    class
    OO(object): #重构了new函数,单例模式,*args,**kwargs先不用理解 def __new__(self,*args,**kwargs): if not "_instance" in vars(cls): cls._instance = super(Singlegton1,*args,**kwargs) return cls._instance def __init__(self,*args,**kwargs): pass #把类可以当函数用。例如OO() def __call__(self,*args,**kwargs): pass #先调用new,然后调用init o = OO() #调用call函数 o("a","b")

    ①:python是动态语言可以随意添加绑定数据,例:o.cc = "12"
    但是动态绑定的数据只在当前实例中有,例:
    a = OO()
    b=OO()
    a.name = "gaga"
    print b.name#报错

    ②:self相当于this,指向的是实例自身,比如o("a","b")就把自身传到函数call中

    ③:如果属性不被外部访问,可以在属性名前加上__,就变成了一个私有属性(python解释器把变量变成了_类名__name,但是不同版本的解释器可能会吧__name解释成不同的名字,没有通过技术手段屏蔽,约定俗成吧)。但是如果属性名后面再加上__,就变成了公共属性。例:__name是私有属性,__name__是共有属性
  • 相关阅读:
    CentOS7修改网卡为eth0
    前端开发实时可视化
    push本地代码到github发生错误的解决办法
    前端面试总结(一)
    HTML5+CSS3开发移动端页面
    web安全-XSS
    前端面试总结
    JavaScript中的原型和原型链
    jQuery与Ajax
    JavaScript中模块化工具require.js
  • 原文地址:https://www.cnblogs.com/say-one-say/p/4933767.html
Copyright © 2020-2023  润新知