python基础--异常,对象和迭代器】的更多相关文章

python基础-异常(exception)处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 程序中难免出现错误,而错误分成两种,即语法错误和逻辑错误.语法错误根本过不了python解释器的语法检测,必须在程序执行前就改正,还有一种就是逻辑错误,对逻辑错误的处理是本篇博客介绍的重点. 一.什么是异常 1>.python解释器检测到错误,触发异常(也允许程序员自己触发异常); 2>.程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关); 3&…
Python可迭代对象.迭代器和生成器 python 函数 表达式 序列 count utf-8 云栖征文 python可迭代对象 python迭代器 python生成器 摘要: 8.1 可迭代对象(Iterable) 大部分对象都是可迭代,只要实现了__iter__方法的对象就是可迭代的. __iter__方法会返回迭代器(iterator)本身,例如: >>> lst = [1,2,3] >>> lst.__iter__() <listiterator obj…
python基础——获取对象信息 当我们拿到一个对象的引用时,如何知道这个对象是什么类型.有哪些方法呢? 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type()判断: >>> type(123) <class 'int'> >>> type('str') <class 'str'> >>> type(None) <type(None) 'NoneType'> 如果一个变量指向…
# 迭代器和生成器 # 迭代器: # 双下方法 : 很少直接调用的方法.一般情况下,是通过其他语法触发的 # 可迭代的 —— 可迭代协议 含有__iter__的方法('__iter__' in dir(数据)) # 可迭代的一定可以被for循环 # 迭代器协议: 含有__iter__和__next__方法 # 迭代器一定可迭代,可迭代的通过调用iter()方法就能得到一个迭代器 # 迭代器的特点: # 很方便使用,且只能取所有的数据取一次 # 节省内存空间 # 生成器 # 生成器的本质就是迭代器…
https://www.cnblogs.com/yuanchenqi/articles/5769491.html 1. 列表生成式 我现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],我要求你把列表里的每个值加三次方,你怎么实现?你可能会想到2种方式 a=[0,1,2,3,4,5,6,7,8,9] b=[] for i in a: b.append(i+1) a=b print(a) 普通版本 a=map(lambda x:x+1,range(10)) print…
1.列表生成式 [i*2 for i in range(10)] [fun(i) for i in range(10)] 2.生成器 # Author Qian Chenglong #列表生成器 a=(i*2 for i in range(10)) #a[1]#只是将算法存储了,只有在调用时才会生成相应的数据,不能直接读取 a.__next__()#生成器只能一个一个往后取,且只存储当前值 #函数生成器 # def fib(max): # n,a,b = 0,0,1 # while n < ma…
生成器函数的工作原理只要 Python 函数的定义体中有 yield 关键字, 该函数就是生成器函数. 调用生成器函数时, 会返回一个生成器对象. 也就是说, 生成器函数是生成器工厂. 调用生成器函数返回生成器: 生成器产出或生成值. 构建可迭代的对象和迭代器时经常会出现错误, 原因是混淆了二者. 要知道,可迭代的对象必须能从同一个可迭代的实例中获取多个独立的迭代器, 而且各个迭代器要能维护自身的内部状态,可迭代的对象有个 __iter__ 方法, 每次都实例化一个新的迭代器,而迭代器要实现 _…
一.什么是迭代? 迭代通俗的讲就是一个遍历重复的过程. 维基百科中 迭代(Iteration) 的一个通用概念是:重复某个过程的行为,这个过程中的每次重复称为一次迭代.具体对应到Python编程中就是,对于一个可迭代对象,比如Python中的list.tuple.string.dictionary,set等,使用某种循环结构来遍历其中的元素,这种遍历就是迭代. #对列表进行遍历! l=['a','b','c','d','e'] #while循环的方式 i=0 while i < len(l):…
5.9 可迭代对象 可迭代对象: str , list , tuple , set , dict , range 1.在Python中,但凡内部有__iter__方法的对象,都是可迭代对象 2.查看对象内部的方法,可以通过dir()去判断一个对象具有的方法 s = "Agoni" print(dir(s)) # dir()可以返回一个列表,这个列表中含有该对象的以字符串的形式所有的方法名,这样就可以判断对象是否是可迭代对象 s1 = 'alex' i = 100 print('__it…
在Python中,很多对象都是可以通过for语句来直接遍历的,例如list.string.dict等等,这些对象都可以被称为可迭代对象.至于说哪些对象是可以被迭代访问的,就要了解一下迭代器相关的知识了. 迭代器 迭代器对象要求支持迭代器协议的对象,在Python中,支持迭代器协议就是实现对象的__iter__()和next()方法.其中__iter__()方法返回迭代器对象本身:next()方法返回容器的下一个元素,在结尾时引发StopIteration异常. __iter__()和next()…