zoukankan      html  css  js  c++  java
  • 第二发

    #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__是共有属性
  • 相关阅读:
    HTML+CSS+JS设计注册页面
    1.20学习总结
    Linux安装python3
    Linux命令
    vue安装
    Python实现发送邮件
    C语言带参数的main函数
    Fibonacci 数列递归 重复计算
    gray code 格雷码 递归
    河内塔
  • 原文地址:https://www.cnblogs.com/say-one-say/p/4933767.html
Copyright © 2011-2022 走看看