2020-11-21列表推导式,生成器,迭代器,面向对象的简介,类的简介

列表推导式,生成器,迭代器,面向对象的简介,类的简介


在这里插入图片描述

列表推导式

列表推导式,简单来说:就是旧的列表通过简短的代码,变成你需要的新的列表。
语法:[表达式 for 变量 in 旧列表 if 判断条件]
注意:上面有空的位置都是有空格的。

在这里插入图片描述

生成器

生成器:就是优化元素占大量内存的,比如你想要1~100000000里面的几个数,如果你想做你需要遍历 1 ~100000000,在遍历的结果里面找几个数,这样做会占用大量的内存,生成器就可以解决这样的问题,你需要几个,就生成几个,这样就不会占用大量的内存。(如果你电脑内存大,那就当我没说)
生成器的创建
生成器可以用上面的列表推导式来创建,只不过要打列表[]换成()。
生成元素的语法:
第一种:生成器名. _ _next() _ _ 注意:这里的下划线是next一边两个(不需要空格,我这是不好显示所以我敲了空格)
第二种:next(生成器名)

在这里插入图片描述
通过定义函数来创建生成器
只要里面有yield,那就是生成器函数,yield和return一样都是需要一个变量来接收
在这里插入图片描述

迭代器

可迭代对象

可迭代对象:通俗的说就是可以遍历的就是可迭代对象,像什么,元组、列表、集合、字典、字符串、生成器……都是可迭代对象。那我们怎么知道什么可迭代对象呢?
isinstance——这个函数可以判断是否是这个类型的实例
如果是这个类型的实例,他就会返回True,不是就会返回false
语法:
isinstance(实例的变量名,类型)
在这里插入图片描述
那可迭代对象的类型是————Iterable
如果你在isinstance(实例的变量名,类型)的类型直接输人Iterable
他会报错,所以你需要导个类。
下面是报错演示
在这里插入图片描述

下面是正常演示
只要鼠标选中Itherable按个alt+回车(Enter),就可以导入这个类
图下说明了a,b,c是可迭代对象的实例
在这里插入图片描述

面向对象的简介

对象是什么,对象是用来存储数据的,
对象的结构:
id(就是存放数据的位置的名称),
type(类型,这个对象的类型,类型决定了这对象的功能)
value(值,就是这个对象储存的具体数据)
面向过程
面向过程就是以过程为核心编程,就是把编写程序的逻辑分成一条一条的过程来来解决问题,
优点:
编写方式比较符合人的解题思路,降低了程序的复杂性
缺点:
编程的复用性差,就是一排代码只用来解决一个问题
面向对象
就是以对象为核心的编程,就是把问题当成对象来处理,然后每一个对象都会有自己的功能,然后不过你用什么过程来解决问题,
优点:
就是比较好修改,容易复用
缺点:
编码方式比较麻烦。

类的简介

类(class)就是用来创建对象,举例像什么int,float,list,tuple……都是类那我们怎么通过类来创建对象呢?
类的语法:
class 类名([父类]):
代码块
注意:下图类的用法不是规范的,但是也是可以这样举例的在这里插入图片描述

写的不好请多多包含,各位
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值