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

    python 面向对象(oop)

    1、面向对象:是一个更大封装,把一个对象封装多个方法

    2、类:是对一些具有相同特征或行为的事物的一个统称,是抽象的,不能直接使用

      特征被称为属性  行为被称为方法

    3、对象:是由类创建出来的一个具体的存在,可以直接使用

      先有类再有对象,类只有一个,而对象可以有多个

      类中定义了什么属性和方法,对象就有什么属性和方法,不可能多也不可能少

    4、定义类

      class 类名:

        def 方法1(self,参数列表):

            pass

        def 方法2(self,参数列表):

            pass

    5、创建对象

      对象变量名 = 类名()

    6、初始化方法

      __init__   方法是专门用来定义一个类具有哪些属性的方法

      创建对象时会被自动调用

    7、dir() 函数

      --new-- 创建对象时会被自动调用

      --del--对象被从内存中销毁前会被自动调用

      --str--返回对象的描述信息,用print()函数输出使用

    8、面向对象的三大特性

      封装:将属性和方法封装到一个抽象的类中

      继承:实现代码的重用,相同的代码不需要重复的编写

      多态:不同的对象调用相同的方法,产生不同的结果,增加代码的灵活度

    9、继承

      class 类名(父类名):

          pass

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

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

    10、多继承

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

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

    11、多态 

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

    12、 魔法方法

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

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

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

    13、枚举法

      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"])

  • 相关阅读:
    FZU 2150 Fire Game
    POJ 3414 Pots
    POJ 3087 Shuffle'm Up
    POJ 3126 Prime Path
    POJ 1426 Find The Multiple
    POJ 3278 Catch That Cow
    字符数组
    HDU 1238 Substing
    欧几里德和扩展欧几里德详解 以及例题CodeForces 7C
    Codeforces 591B Rebranding
  • 原文地址:https://www.cnblogs.com/Qingxiaoyu/p/10133719.html
Copyright © 2011-2022 走看看