zoukankan      html  css  js  c++  java
  • 面向对象

    内置方法

    # __xxx__
    # 不需要自己调用
    

    str : print(obj)调用这个对象的__str__方法,打印的实际上是__str__的返回值

    repr: 如果打印一个对象,该对象没有实现str,就会调用repr,并打印它的返回值

    new:构造方法,开辟空间,创建了对象/self

    # 单例模式(背)
    

    del:析构方法,在删除对象的之前调用,回收一些资源

    class A:

    def init(self):

    sk = socket.socket()

    sk.bind('127.0.0.1',9000)

    self.sk = sk

    self.f = open('file')

    def del(self):

    self.f.close()

    self.sk.close()

    a = A()

    del a

    call : obj()调用__call__方法

    enter: 上下问管理,with语句中代码块之前执行的代码

    exit : with语句中代码块之后执行的代码

    eq : ==

    class A:

    def init(self,name,age):

    self.name = name

    self.age = age

    def eq(self, other):

    return self.name==other.name

    a1 = A('alex',84)

    a2 = A('alex',84)

    a3 = A('wusir',73)

    print(a1==a2)

    class A:

    def init(self,name,age):

    self.name = name

    self.age = age

    def gt(self, other):

    return self.age>other.age

    a1 = A('alex3',85)

    a2 = A('alex',84)

    a3 = A('wusir',73)

    # print(a1>a3)

    l = [a1,a2,a3]

    l.sort()

    print([a.age for a in l])

    getitem

    class A:

    def init(self,name,age):

    self.name = name

    self.age = age

    def getitem(self, item):

    return self.dict[item]

    a = A('alex',84)

    print(a.name)

    print(a['age'])

    getattr

    class A:

    def getattr(self, item):

    print(item)

    a = A()

    a.name

    几种方式实现单例模式

    # 1.给类添加装饰器的方式
    # 2.导入模块的方式
    # 3.new的方式
    # 4.元类重写元类的__call__方法
    

    有一个类

    # 它的对象如果调用一个属性,有这个属性,返回这个属性的值
    # 如果没有这个属性,返回一个默认的值‘default’
    
    # 他的对象如果调用一个方法,有这个方法,调用这个方法
    # 如果没有这个方法,调用一个默认的default方法
  • 相关阅读:
    纯JS制作选项卡--JavaScript实例集锦(初学)
    超级简单实用的CSS3动画,增添网页效果
    3种方法实现图片瀑布流的效果(纯JS,Jquery,CSS)
    CSS动画小结
    遗忘比死亡更可怕
    matplotlib笔记2
    matplotlib笔记1
    pandas数据结构之Panel笔记
    pandas数据结构之Series笔记
    ndarray笔记续
  • 原文地址:https://www.cnblogs.com/Doner/p/11425691.html
Copyright © 2011-2022 走看看