2020/11/21 Python基础学习课程十:面向对象(一)

十、面向对象(一)

1、面向对象的简介

  • 面向对象定义:Python就是是一门面向对象的编程语言,所谓面向对象就是语言中的所有操作都是通过对象来进行的
  • 面向对象的特点:
    o 面向对象的编程语言,关注的是对象,而不注重过程,对于面向对象来说一切事物都是对象
    o 面向对象的编程思想,就是将所有功能统一保存到对应的对象中,要使用某个功能直接找到对应的对象就行
  • 面向对象的优缺点:这种编码方式比较容易阅读,并且便于维护,容易重复使用;但是编写过程不太符合常规思维,编写相对麻烦
  • 面向过程的定义:与面向对象对应的是面向过程,面向过程将我们的程序分解为一个个步骤,通过每个步骤的抽象完成程序
  • 面向过程的优缺点:这种编写方式往往只适用一个功能,如果要使用其他功能,复用性较低;这种编程方式更符合一般的思维,编写起来较为容易

2、列表推导式

  • 用法:旧的列表——>新的列表
  • 语法:
    [表达式 for 变量 in 旧的列表] 或
    [表达式 for 变量 in 旧的列表](一般来说表达式和变量一致,但也可用表达式改变)

3、生成器

  • 作用:解决大数据占用内存过大的情况
  • 语法:(表达式 for 变量 in 旧的列表)
    在这里插入图片描述
  • 调用方法:1、_ _next_ _()的方法得到元素;2、通过next()函数获取

4、迭代器

4.1 迭代和可迭代对象
  • 迭代:不断获取元素的一种过程
  • 可迭代对象:能够不断迭代的对象,包括列表,元组,字典,生成器,字符串等
  • 如何判断一个对象是否可迭代:isinstance(对象1,对象2)函数,用来判断对象1是否是对象2的实例,并返回True或False
    在这里插入图片描述
4.2 迭代器
  • 定义:可以被next()函数调用,并不断返回下一个值的对象称之为迭代器 Iterator
  • 特点:可迭代对象不一定是迭代器,迭代器一定是可迭代对象
  • 创建:通过iter()函数可以将可迭代的对象变成一个迭代器

5、‘类’的使用

5.1 类的简介
  • 基本定义:类也是一个对象,它的类型是“type”,类简单理解就是一个图纸,我们根据类来创建对象
  • 包含的内容:1、数据(属性);2、行为(方法)
5.2 类的使用
  • 语法:
    class 类的名称 :
            代码块

  • 在代码块中我么可以定义变量和函数
    o 变量会成为该类实例的公共属性,所有的该实例都可以通过,对象.属性名来访问
    o 函数会成为该类实例的公共方法,所有该类实例都可以通过,对象.方法名来访问

6、self参数

6.1 属性和对象
  • 类的属性和方法:类中的属性和方法都是公用的,任何实例都可以访问
  • 类对象和实例对象中都可以保存属性(方法):
    o 如果这个属性和方法是所有实例公用的,则应该保存在类对象中
    o 如果这个属性对象是某个实例独有的,则应该保存在实例对象中
    o 一般情况下,属性保存在实例对象中,而方法保存在类对象中
  • 属性和方法的查找流程:
    o 当我们调用一个对象的属性时,解析器会先在当前对象中寻找是否有该属性,如果有,则直接调用当前对象的属性;如果没有,则直接去对象所属的类中去寻找,如果有则返回类的属性值,如果没有,则报错
6.2 self的应用
  • 背景:类的方法每次调用时都会自动传递一个实参在这里插入图片描述
  • self的应用:类的方法默认实参一般定义为为self,最好也是self,但不固定;self需要定义,但调用时会自动传入;self总是指调用时的类的实例
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值