python面向对象知识点

面向对象

一:面向对象基本概念

  1. 面向过程与面向对象区别: 面向过程-------怎么做? 面向对象-------谁来做?
  2. 面向对象特点:
    注重对象和职责,不同的对象承担不同的职责
    是专门应对复杂项目开发,提供的固定套路
    需要在面向过程基础上,再学习一些面向对象语法
  3. 面向对象编程步骤:
    将属性和方法封装到一个抽象的类中
    外界使用类创建对象,然后让对象调用方法
    对象方法的细节都被封装在类的内部

二:类和对象

  1. 类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用 对象是由类创造出来的一个具体存在,可以直接使用
  2. 类的设计:
    分析需求,查看需要的类
    类名的确定
    属性和方法的确定

三:面向对象基础语法

  1. dir内置函数 定义简单的类
    定义只包含方法的类:
    格式:
class Cat:
	def eat(self):
		print("小猫爱吃鱼")
	def drink(self):
		print("小猫要喝水")
  1. 创建对象: 格式:对象变量 = 类名()
  2. 初始化方法:
    初始化方法__init__是专门用来定义一个类具有哪些属性的方法
    再初始化方法内部定义属性:使用self.属性名 = 属性的初始值
    初始化方法改造------初始化的同时设置初始值:init(self,参数)
  3. 内置方法和属性:
    __del__方法:如果希望在对象被销毁前,再做一些事情,可以考虑
    __del__方法
    __str__方法:如果希望使用print输出对象变量时,能够打印自定义 内容,就可以用__str__方法

四:面向对象封装

  1. 封装是面向对象编程的一大特点
  2. 一个对象的属性可以是另外一个类创建的对象
  3. 身份运算符:用于比较两个对象的内存地址是否一致----是否对同一个对象的引用
  4. 私有属性和私有方法:不希望对外界公开
  5. 在定义属性或方法时,在属性名或者方法名前增加两个下划线,就是私 有属性或私有方法
    在日常开发中,不要使用这种方式,访问对象的私有属性或私有方法

五:面向对象继承

  1. 继承的作用:继承实现代码的重用,相同的代码不需要重复的编写
  2. 继承的概念:子类拥有父类的所有方法和属性
  3. 继承的语法:class 类名(父类名):
    pass
  4. 专业术语:子类也叫派生类,父类也叫基类,类继承也叫类派生
  5. 继承的传递性:子类拥有父类以及父类的父类中封装的所有属性和方法
  6. 方法的重写
    原因:父类的方法实现不能满足子类的需要,需要进行重写
    实现方法:在子类中定义了一个和父类同名的方法并且实现
  7. 关于super
    super是一个特殊的类
    super()就是使用super类创建出来的对象
    使用场景:重写父类方法时,调用在父类中封装的方法实现
  8. 父类的私有属性和私有方法
    子类对象不能在自己的方法内部,直接访问父类的私有属性或私有方法, 可以通过父类的公有方法间接访问到私有属性或私有方法
  9. 多继承
    子类拥有多个父类,并且具有所有的属性和方法
    多继承的语法:class 子类名(父类名1,父类名2,…)
    pass
    注意事项:尽量避免不同的父亲存在同名的属性或方法
  10. 新式类和旧式(经典)类
    新式类:以object为基类的类,推荐使用
    旧式类:不以object为基类的类,不推荐使用
    新式类和经典类在多继承时,会影响到方法的搜索顺序

六:面向对象多态

  1. 多态的概念:不同的子类对象,调用相同的父类方法,产生不同的执行结果
  2. 多态的特点
    多态可以增加代码的灵活度
    以继承和重写父类方法为前提
    是调用方法的技巧,不会影响到类的内部设计

七:类

  1. 类的结构
    术语----实例
    创建出来的对象叫做类的实例
    创建对象的动作叫做实例化
  2. 对象的属性叫做实例属性
    对象调用的方法叫做实例方法
  3. 类是一个特殊的对象
    class定义的类属于类对象
    obj定义的类属于实例对象
  4. 类属性和实例属性
    类属性就是给类对象定义的属性
  5. 类方法和静态方法
    类方法就是针对类对象定义的方法
    语法格式: @classmethod
    def 类方法名(cls):
    pass
    静态方法条件
    既不需要访问实例属性或者调用实例方法
    也不需要访问类属性或者调用类方法
    静态方法语法格式:@staticmethod
    def 静态方法名():
    pass

八:单例

  1. 单例设计模式
    设计模式是前人工作的总结和提炼
    使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码 可靠性
  2. 目的:让类创建的对象,在系统中只有唯一的一个实例
  3. __new__方法
    __new__方法是一个由object基类提供的内置的静态方法
  4. 作用
    在内存中为对象分配空间
    返回对象的引用
  5. python中的单例
    单例是让类创建对象,在系统中只有唯一的一个实例

九:异常

  1. 定义:程序在运行时,如果遇到一个错误,会停止程序的执行,并且提示一些错误信息
  2. 抛出异常定义:程序停止运行并且提示错误信息
  3. 作用:可以针对突发事件做集中处理,从而保证程序的稳定性和健壮性
  4. 捕获异常
    使用场景:对某些代码的执行不能确定是否正确,可以增加捕获异常
  5. 语法:try:
    尝试执行的代码
    except:
    出现错误的处理
  6. 错误类型捕获
    作用:针对不同类型的异常,做出不同的响应
  7. 异常的传递
    当函数/方法执行出现异常,会将异常传输给函数方法的调用一方
    作用:不需要在代码中,增加大量的异常捕获,能够保证代码的整洁
  8. 抛出raise异常
    应用场景:根据应用程序特有的业务需求主动抛出异常
    抛出方法
    创建一个exception的对象
    使用raise关键字抛出异常对象

十:模块

  1. 模块是python程序架构的一个核心概念
  2. 定义:一个独立的python文件就是一个模块
  3. 模块名的命名规则必须符合标识符的命名规则
  4. 如果想要使用模块,必须先导入这个模块 import导入
    语法:import 模块1 用法:通过 模块名. 可以使用模块中的工具
  5. from…import导入
    使用场景:如果希望从某一个模块中导入部分工具 注意:如果两个模块存在同名函数,那么后导入模块的函数,会覆盖先导入 的函数
  6. 原则------每一个文件都应该是可以被导入的
  7. __name__属性
    __name__属性可以做到,测试模块的代码只在测试情况下被运行,而在 被导入时不会被执行

  8. 包是一个包含多个模块的特殊目录
    包名的命名方式和变量名一致
    好处:可以一次性导入包中所有的模块

十一:文件

  1. 定义:计算机的文件,就是存储在某种长期储存设备上的一段数据
  2. 作用:将数据长期保存下来,在需要的时候使用
  3. 存储方式
    文本文件:可以使用文本编辑器查看
    二进制文件:保存的内容不能直接阅读,而是提供给其他软件使用
  4. 文件的基本操作
    操作文件步骤:打开文件,读写文件,关闭文件
    open函数----打开文件
    read方法可以一次性读入并返回文件的所有内容
    close方法负责关闭文件
  5. 打开文件的方式
    语法:f = open(“文件名”,”访问方式”)
    按行读取文件的内容
    readline方法:可以一次读取一行内容
  6. 文件/目录的常用管理操作
    . 文件操作
    rename 重命名文件 os.rename(源文件名,目标文件名)
    remove 删除文件 os.remove(文件名)
    . 目录操作
    listdir 目录列表 Os.listdir(目录名)
    mkdir 创建目录 Os.mkdir(目录名)
    rmdir 删除目录 Os.rmdir(目录名)
    getcwd 获取当前目录 Os.getcwd()
    chdir 修改工作目录 Os.chdir(目标目录)
    path.isdir 判断是否为文件 Os.path.isdir(文件路径)
    十二:eval函数
    作用:将字符串当成有效表达式来求值并返回计算结果
    注意:不要使用eval直接转换input的结果
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值