迭代器,生成器

37 篇文章 0 订阅
30 篇文章 0 订阅

迭代器:

1.什么是迭代器

指更新换代的过程,应用程序的升级

根据上一个结果产生下一个结果

迭代器是根据上一个结果得到下一个结果的工具,一种获取数据的工具

可迭代器对象是指可以使用迭代器取出数据的对象

带下划线开头和结尾的方法都是特殊的方法,会在特定时间执行

通过函数__iter__()来获取迭代器

所有容器类型都可迭代,包括字符串

 

2.如何使用

1.获取迭代器调用__iter__()得到迭代器

2,通过__next__()方法来获取每个值

文件也是可迭代对象也是迭代器

3.调用iiter将返回迭代器本身

l=[1,2,3,4]

res=l.__iter__()

while True:

try:

print(res.__next__())

except:

print("stop it")

break

3.生成器

yield 可以多次产生数据

函数中出现yield 该函数就是生成器

一旦函数中出现了yield,调用函数时不会立即执行函数体,返回一个生成器对象

在调用函数的__next__方法时。遇到yield会暂停,每一次调用next都是基于上一次yield的位置往下走

同时会把yield后的数据返回给调用者,生成器就是迭代器,具备iter和next函数,可以直接for循环来遍历

def app():

print("start")

yield

print("over")

yield

res=app()

k1=res.__next__()

print(k1)

k2=res.__next__()

print(k2)

 

def app():

i=1

while i<=100:

yield i

i+=1

qq=app()

for i in range(100):

print(qq.__next__())

 

send函数用于向生成器发送数据,但是要先调用next

def app():

while True:

food=yield "鸡蛋"

print(food)

c=app()

c.__next__()

c.send("1")

c.send("2")

 

面向过程编程

#1、首先强调:面向过程编程绝对不是用函数编程这么简单,面向过程是一种编程思路、思想,而编程思路是不依赖于具体的语言或语法的。言外之意是即使我们不依赖于函数,也可以基于面向过程的思想编写程序 #2、定义 面向过程的核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么 基于面向过程设计程序就好比在设计一条流水线,是一种机械式的思维方式 #3、优点:复杂的问题流程化,进而简单化 #4、缺点:可扩展性差,修改流水线的任意一个阶段,都会牵一发而动全身 #5、应用:扩展性要求不高的场景,典型案例如linux内核,git,httpd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值