面向对象编程

编程

  • 编程就是控制变量不断变化

1.面向过程编程

  • 面向过程编程就是,对着 —》 流程/步骤—》 码代码

1.IOP

  • IPO就是:Input(输入)——》Process(过程/处理)——》Output

  • 面向过程编程类似于车间(流水线的工作过程)

  • 未来码代码的目的:输入一些变量,然后会通过一系列的步骤改变变量,最后得到你想要的结果

  • 面向过程编程:一步一步(一个函数一个函数),上一个函数的输出是下一个函数的输入。

    • 优点:代码的独立性提高,流程清晰
    • 缺点:一个错误,就会让程序直接崩掉了

2.面向对象编程

  • 面向对象编程就是 对着 ——》 object ——》 码代码
  • 面向对象编程就是对象与对象之间进行交互
    • 优点:一个对象自身的变化不会对其他对象造成影响
    • 缺点:异常复杂

1.对象

  • 对象:(现实生活中)一系列特征和技能的结合体。

    ​ (python中)一系列属性和方法的结合体。

2.类

  • 现实当中现有对象才会有类,但是python中先有类再有对象
  • 类(模板/类别):划分了对象,具有相同属性和方法的对象属于同一类
  • 如果一个对象属于这个类,那么这个类拥有的,这个对象也一定拥有
  • 定义在类内部的函数一般称为方法(给类增加技能)
  • 函数定义阶段,检查语法,不执行代码,而类的定义阶段,检测语法,执行代码
  • 定义在类内部的函数一般称为方法(给类增加技能)

(1)定义类

  • 定义的语法:
class 类名(驼峰体):
    school = 'oldboy'  # 定义变量(给类添加属性,这是对象的公共属性)
    
    def choose_course(self):  
  # 定义在类内部的函数一般称为方法(给类增加技能),self是类的定义时,写类方法时自动加上去的
        pass
	def __init__(self, h, w, a): #  _init_()方法,当类里有这个方法时,定义对象的时候必须要输入对应的实参(这里举例了3个形参 h w a)
        self.h = h
        self.w = w
        self.a = a
        print(self.h, self.w, self.a)

(2)定义对象(实例化对象)

  • 对象名 = 类名()  #括号里是否写实参,看类的定义里有没有 _init_方法,没有就不用写,有的话就一定要写
    

    对象使用类中的方法时,不需要加参数,因为实例化对象调用该方法时,python会自动将该实例化对象传给self

posted @ 2019-09-04 19:21  BigSun丶  阅读(133)  评论(0)    收藏  举报