目录 1.面向对象编程的概念 2.面向对象编程和面向过程编程的区别 (1)面向过程编程 (2)面向对象编程 3.举例理解面向对象 4.Python的面向对象编程 5.面向对象的几大核心特性 1.面向对象编程的概念 Python从设计之初就已经是一门面向对象的语言,正因为如此,我们肯定听过Python中一切皆对象的说法. 面向对象编程(Object-oriented Programming,简称 OOP),是一种程序设计思想. 面向对象编程把对象作为程序的基本单元,一个对象包含了数据(属性)和操作…
目录 1.理解类和对象 2.类 3.对象 4.Python中的对象 5.类和对象的定义 (1)定义类 (2)创建对象 (3)练习 6.拓展:isinstance() 函数 1.理解类和对象 (1)类和对象的关系 思考:洗衣机洗衣服描述过程中,洗衣机其实就是一个事物,即对象,洗衣机对象哪来的呢? 答:洗衣机是由工厂工人制作出来. 思考:工厂工人怎么制作出的洗衣机? 答:工人根据设计师设计的功能图纸制作洗衣机. 归纳:图纸 → 洗衣机 → 洗衣服. (2)总结: 在面向对象编程过程中,有两个重要组成…
目录 1.私有成员变量介绍 (1)私有成员变量概念 (2)私有成员变量特点 (3)私有成员变量体验 2.属性私有化工作原理 3.定义成员变量的标识符规范 4.私有成员变量的获取和设置方式 1.私有成员变量介绍 (1)私有成员变量概念 在Python面向对象中,把类的某些属性,如果在使用的过程中,不希望被外界直接访问,就可以将该属性设置为私有的,即只有当前类持有,然后暴露给外界一个访问的函数,来实现间接的访问对象属性,这就是类中数据的封装. 如果类中的属性不想被外界直接访问,则可以在属性的前面添加…
Python对于类的成员没有严格的访问控制限制,这与其他面向对象的编程语言是有所区别的. 关于私有方法其实和私有属性差不多,有如下要点: 1.通常我们约定,两个下划线开头的方法是私有方法. 2.类内部可以访问私有方法. 3.类外部不能直接访问私有方法,也就是不同通过对象.方法名直接调用. 4.类外部可以通过 _类名__私有方法名访问私有方法. 示例: # 在函数名的前面添加两个下划线,此时该函数被称为私有函数 # 只能在当前类中被直接调用,不同通过对象.方法名调用 # 私有函数 class St…
目录 1.继承的概念 2.继承的好处 3.继承体验 4.单继承 5.多继承 1.继承的概念 在Python中,如果两个类存在父子级别的继承关系,子类中即便没有任何属性和方法,此时创建一个子类对象,那么这个子类对象会拥有父类中所有属性和方法的使用权,这就是在Python中的继承概念. 在Python测继承中,我们一般会抽取出一类事物中,所具有相同的特征属性和行为到一个类中,这样的类我们称之为父类,也可以叫超类.基类. 凡是通过继承创建出来的类,我们称之为子类或者衍生类,可以直接继承父类中的属性和方…
目录 1.Python中的多态 (1)多态的定义 (2)多态的好处 (3)多态实现步骤 2.体验多态 1.Python中的多态 (1)多态的定义 多态是一种使用对象的方式,子类重写父类方法,不同的子类对象调用相同的父类方法,可以产生不同的执行结果. 概括的说,多态指的是一类事物可以有多种形态呈现. (2)多态的好处 增加了程序额可扩展性,只要觉有相同的特征,就可以创建一个新的类,使用者无需更改原有类的代码,更容易编写出通用的代码,做出通用的编程. 有了多态,增加了程序的调用灵活性,以不变应万变,…
目录 1.self的作用 2.self的使用注意事项 (1)self代表类的实例,而非类 (2)self不必非写成self,只是一种规范. (3)类中方法的形参中一定要写self,包括内置函数 (4)__init__函数中,要把接收到的参数赋值到self中,提供全类使用 (5)同一个类中调用其他的方法时需要加self (6)self总是指调用时的类的实例,在继承时中也一样 (7)self与私有变量的用法 (8)总结 (9)综合练习 1.self的作用 self指的是调用该函数的对象(是一个实例)…
目录 1.重写 2.super()函数 方式一 方式二 __mro__内置类属性说明 1.重写 在子类中如果有和父类同名的方法,则通过子类实例去调用该方法时,会调用子类中的该方法而不是父类的方法,这个特点我们成为叫做方法的重写(覆盖:override). 故事继续:徒弟掌握了师父和学院派技术后,自己潜心钻研出自己的独门配方的一套全新的煎饼果子技术. # 1.创建师父类,属性和方法 class Master(object): def __init__(self): self.kongfu = '[…
目录 1.Python支持多层继承 (1)多层继承实现 (2)多层继承和多重继承区别 2.继承中的私有成员 (1)继承中父类私有属性和私有方法 (2)获取和修改私有属性值 1.Python支持多层继承 故事继续:N年后,徒弟老了,想要把所有技术传承给自己的徒弟. (1)多层继承实现 # 1.创建师父类,属性和方法 class Master(object): def __init__(self): self.kongfu = '[古法煎饼果子配方]' def make_cake(self): pr…
目录 1.实例方法 2.类方法 (1)类方法特点 (2)类方法使用场景 3.静态方法 (1)静态方法特点 (2)静态方法使用场景 1.实例方法 实例方法既可以调用静态方法也可以调用类方法. # 定义一个类 class A(object): # 类属性 count = 0 def __init__(self): self.name = '孙悟空' # 实例方法 # 在类中定义,以self为第一个参数的方法都是实例方法 # 实例方法在调用时,Python会将调用对象作为self传入 # 实例方法可以…