• 20181218


    面向对象(oop):

    类:抽象概念,类型。类创建一个新类型,而对象是这个类的实例。用来描述具有相同的属性和方法的对象的集合。

    对象:实际物体,类实例化对象

     __init__ 方法:构造函数,实例化对象时自动调用的

    局部变量:定义在方法中的变量,只作用于当前实例的类。

    实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是类声明的内部,但是在类的其他成员方法之外声明的。

    实例化:创建一个类的实例,类的具体对象。。

    例:

    Class ClassName:

    <statement-1>

    <statement-N>

    类有一个名为__init__()的特殊方法(构造方法),该方法在类实例化时会自动 调用,像下面这样:

    def __init__(self):

    Self.date=[]析构方法:对象销毁的时候自动调用。

    Def __del__(self):

    self.__score = score # 私有属性,只允许在本类中访问

    def __privateFun(self):# 私有方法

    限制实例属性

    __slots__ = ('name','age')# 只允许有‘name’和‘age’属性

    继承:

      子类继承父类的属性和方法(私有属性继承但不能修改)

      可用super()函数或父类名.方法名

    多继承:__mro__(获取类的继承顺序) 

      super()方法与类名.方法的区别:在于广度(super先广度在深度,类名.方法直接找到父类)

    访问器(@property)和设置器(.setter

    访问器的好处就是可以直接访问私有属性,不用调用第三方函数

    继承

      class 类名(父类名):

          pass

      子类继承父类,可以直接享受父类中已经封装好的方法,不需要再次开发,根据自己所需封装子类特有的属性和方法

      在子类中重写父类的方法在需要的位置使用supper().父类方法来调用父类方法的执行

    多继承

      子类可以拥有多个父类,并且具有所有父类的属性和方法

      __mro__可以查看继承的先后顺序

    多态 

      不同的子类对象调用相同的父类方法,产生不同的执行结果

     魔法方法

      --repr-- 在解释器环境下直接输出本对象,自动调用的方法

      --len-- 调用len()函数的时候自动调用的方法

      --call--调用本类对象的时候自动调用的方法

    枚举法

      from enum import Enum,unique

      @ unique # 防止枚举成员的重复

      class Menu(Eunm):

        INSERT = 1

                   APPEND = 2

      print(Menu.INSERT.value)

      print(Menu.INSERT.value == 1)

      print(Menu["INSERT"])

  • 相关阅读:
    不同的ospf进程发布互联网段可以互通
    大数分解
    主席树(非权值)
    块状数组
    Codeforces Round #744 (Div. 3) G. Minimal Coverage
    记录一种从天而降的掌法(动态维护中位数的方法)
    快速统计二进制中1的数量
    网络流(小常数)
    矩阵快速幂
    米勒罗宾素性检验
  • 原文地址:https://www.cnblogs.com/liuyibo007/p/10135134.html
Copyright © 2020-2023  润新知