栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python 条件和循环容易忽视的知识点

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 条件和循环容易忽视的知识点

文/CinderellaM

文章主要记录了条件和循环中的一些自己忽视的知识点,和一些自己在应用过程中出现的错误,系统的对这部分知识进行梳理与补充

else语句

Python的缩进使用强制使代码正确对齐,让程序员决定else属于哪一个if,所以在Python中出现'悬挂else'的情况是不会出现的

'''即使没有else与最近的if配对,程序依然正确运行,通过强制对齐,else正确的与外层的if配对'''if a>0:    if b>0:        passelse:    pass
while-else语句
'''只要while循环正常结束,而不是被break打断,else子句就会执行'''while x>0:    if y>0:        break
    passelse:    pass
for-else语句

同while-else

条件表达式(三元操作符)

X if C else Y
对应C的三元操作符
C? X:Y

x=1y=5r=x if x>y else y
print r>>5
for语句用于序列类型序列的三种基本迭代方法通过序列项迭代
'''性能好,速度快'''for eachName in nameList:       pass
通过序列索引迭代
'''接近C的使用方式'''for nameIndex in range(len(nameList)):       pass
使用项和索引迭代
'''两全其美的方法,既获得了索引,也获得了序列元素'''for i,eachLee in enumerate(nameList):        pass
用于迭代器类型

迭代器并不代表循环条目的集合。使用迭代器做for循环的代码与使用序列条目几乎完全相同

range()内建函数
range(start,end,step=1)
range(start,end)
range(end)
xrange()内建函数与序列相关的内建函数sorted()reversed()enumerate()zip()迭代器和iter()函数迭代器规则

迭代的意思是重复做一些事很多次,就像在循环中做的那样,只要该对象实现了iter方法,就能进行迭代。该方法会返回一个迭代器(iterator),所谓的迭代器就是具有next方法的对象。在调用next()方法时,迭代器会返回它的下一个值。如果迭代器没有值可以返回,就会引发一个StopIteration异常,这并不代表错误发生,只是告诉外部调用者,迭代完成。

使用迭代器序列
'''对一个对象调用iter()就可以得到它的迭代器,调用迭代器的next()方法可以获得它的下个项
   reversed()内建函数返回一个反序访问的迭代器
   enumerate()内建函数返回一个具有索引和元素的迭代器'''i=iter([1,2,3])
i.next()
r=reversed([1,2,3])
r.next()
e=enumerate([1,2,3])
e.next()
字典

字典的迭代器会遍历它的键,语句for eachKey in myDict.keys()可缩写为for eachKey in myDict

文件

文件对象生成的迭代器会自动调用readline()方法,语句for eachLine in myFile.readline() 可缩写为 for eachLine in myFile


作者:CinderellaM
链接:https://www.jianshu.com/p/ef836fd11c6b

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/224615.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号