python——函数18、迭代器(二)

1、for循环工作原理:

for循环:

d={‘a‘:1,‘b‘:2,‘c‘:3}
for i in d:
    print(i)

  原理:for循环其实就是再调后面那个d的d.__iter__()

# todo 循环第一次:
obj=d.__iter__()
i=obj.__next__()
print(i)
# todo 循环第二次
i=obj.__next__()
print(i)
# todo 循环第三次
i=obj.__next__()
print(i)

2、while循环

i={‘a‘:1,‘b‘:2,‘c‘:3}
obj=i.__iter__()
while True:
    i=obj.__next__()
    print(i)

  这段代码会报异常如下图:

这时 你就会用到 try和except(捕捉):

i={‘a‘:1,‘b‘:2,‘c‘:3}
obj=i.__iter__()
while True:
    try:
        i=obj.__next__()
        print(i)
    except StopIteration:
        break

     步骤 :(1)   、 首先建立一个while循环

(2)、 再循环里建一个try语法

(3)、 将循环体缩进try里

(4)、 except 捕捉异常 将它报的 StopIteration异常写到except后

(5)、 break 结束循环

原文地址:https://www.cnblogs.com/StevenSunYiwen/p/9345441.html

时间: 2024-10-13 22:59:25

python——函数18、迭代器(二)的相关文章

python函数:迭代器和生成器

python函数:迭代器和生成器 迭代器和生成器是函数中的一大重点,务必掌握,何为迭代?何为迭代器? 预习: 处理文件,用户指定要查找的文件和内容,将文件中包含要查找内容的每一行都输出到屏幕(使用生成器) 一.迭代器 for i in 50:     print(i) #运行结果: # Traceback (most recent call last): #   File "G:/python/python代码/八月/day2 迭代器生成器/3迭代器.py", line 8, in &

Python函数-4 迭代器

迭代器 在介绍迭代器之前,先说明下迭代的概念: 迭代:通过for循环遍历对象的每一个元素的过程. Python的for语法功能非常强大,可以遍历任何可迭代的对象. 在Python中,list/tuple/string/dict/set/bytes都是可以迭代的数据类型. 可以通过collections模块的Iterable类型来判断一个对象是否可迭代: from collections import Iterable isinstance('abc', Iterable) # str是否可迭代

python — 函数基础知识(二)

目录 1 返回值 2 作用域 3 函数小高级 4 函数中高级 1 返回值 def func(arg): # .... return 9 # 返回值为9 默认:return None val = func('adsfadsf') # 1. 让用户输入一段字符串,计算字符串中有多少A字符的个数.有多少个就在文件a.txt中写多少个"李邵奇". def get_char_count(data): sum_counter = 0 for i in data: if i == 'A': sum_

学习Python函数笔记之二

---恢复内容开始--- 1.内置函数:取绝对值函数abs() 2.内置函数:取最大值max(),取最小值min() 3.内置函数:len()是获取序列的长度 4.内置函数:divmod(x,y),返回的结果就是x/y的商和模,显示y不能等于0,等于0就会报错 5.内置函数:pow(a,b)两个参数的情况下,表示a的b次幂 pow(x,y,z)三个参数的情况下,表示x的y次幂的值,然后再对z取模得出结果 6.内置函数:round(x,y)表示x是一个浮点型的小数,y表示保留几位小数,最后输出保留

Python学习-10.Python函数定义(二)

在Python中定义函数的时候,可以使用参数默认值的方式定义函数 例子: 1 def welcome(who,state='is',action='talking'): 2 print(who,state,action) 调用函数: 1 welcome('Tom') 输出Tom is talking 1 welcome('Tom','was') 输出Tom was talking 1 welcome('Tom',action='sleeping') 输出Tom is sleeping 可见,在参

Learn Python—函数(迭代器、生成器)

迭代器iterator 可迭代协议-只要含有__iter__方法的,都是可迭代的iterable 迭代器协议-内部含有__next__方法和__iter__方法的就是迭代器 只要能被for循环的数据类型,就一定拥有__iter__方法,for循环其实就是在使用迭代器 只要是迭代器就一定可以迭代 可迭代对象.__iter__() == 迭代器 迭代器中的__next__()方法可以一个一个的获取值 迭代器对象可以使用常规for语句进行遍历: list=[1,2,3,4] it = iter(lis

Python——函数入门(二)

一.函数的参数 我们在定义函数时,可以定义形式参数(简称形参),这些形参的值在函数调用的时候才会确定,形参的值由调用者负责传入. 1.关键字参数 在Python中,函数的参数名并不是没有意义的,在调用函数的时候,Python允许根据参数名传入参数值,根据参数名传入参数值不需要遵守定义形参的顺序,这种根据参数名传入参数值的方式被称为关键字参数. 例: def test(a,b,c): print ('a:%s,b:%s,c:%s'%(a,b,c)) return a,b,c test(c = 1,

Python 函数对象 命名空间与作用域 闭包函数 装饰器 迭代器 内置函数

一.函数对象 函数(Function)作为程序语言中不可或缺的一部分,但函数作为第一类对象(First-Class Object)却是 Python 函数的一大特性. 那到底什么是第一类对象(First-Class Object)呢? 在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量.可以作为元素添加到集合对象中.可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性就是第一类对象所特有的. 1.函数身为一个对象,拥有对象模型的三个通用属性:id.类型.和值.

python函数、装饰器、迭代器、生成器

5月21日,请假结婚,然后性格惰性来了,不怎么想看视频和笔记,性格中的弱点开始出现,开始做的不错,渐渐开始松懈,直至放弃--- 函数补充进阶 函数对象 函数的嵌套 名称空间与作用域 闭包函数 函数之装饰器 函数之迭代器 函数之生成器 内置函数 一.函数补充进阶 1.函数对象:  函数是第一类对象,即函数可以当作数据传递,它的应用形式也被称为高阶函数,函数的特性如下: a. 可以被引用 1 # def foo(): 2 # print('from foo') 3 # 4 # func = foo