While / for 语句
来源:互联网 发布:股市热点追踪软件 编辑:程序博客网 时间:2024/05/16 05:22
Python语法规则
1:语句逐行运行,除非碰见if等控制语句
2:块与语句的边界会自动检测,因为它没有大括号之类的东西,所以就是缩进
3:复合语句的形式:首句后紧跟“:”,紧接着是缩进语句
4:文档字符串!=注释,尽管同样都是被忽略,但是在运行时会自动附加在对象上,可以由文档工具显示。
语句分割符
Python语句一般是行尾表结束,但当语句太长时,我们可以通过一些方式让他位于多行之中
1:使用语法括号对,使语句跨行。括号对包括(),{},或[]
2:语句以反斜线结尾,实现跨行。(现不再使用)
3:其它规则,三重引号字符串块或者先用分号终止语句,然后紧接着输入
while 循环
while <test1>: <statement1> # loop body if <test2>: break # Exit loop now, skip else if <test3>: continue # Go to top of loop now, to test1else: # Optional else <statement2> # Run if didn't exit loop with breakbreak 跳出整个循环
continue 跳出当前循环
pass 什么事都不做,只是空占位语句。或者写成...也是什么都不做
else 循环正常离开时执行,也就是没碰到break语句
下面C语言中常见的形式在Python里面是不行的 while (( x = next()) != null ) { ...process x...}
for 循环
是一个通用的序列迭代器,可以遍历任何有序的序列对象内的元素,可用于字符串,列表,元组以及其他内置可迭代对象
for <target> in <object>: <statements> if <test>: break if <test>: continueelse: <statements>
通过下面的例子,你会发现它实际上关键还是赋值的形式,与我们前面说学的区别就是它后面时一个序列,然后我们会以,为分隔符,一次用一段进行赋值。
>>> D={'a':1, 'b':2, 'c':3}>>> for k in D:... print(k, '=>', D[k])... ('a', '=>', 1)('c', '=>', 3)('b', '=>', 2)>>> list(D.items())[('a', 1), ('c', 3), ('b', 2)]>>> for (k,v) in D.items():... print(k, '=>', v)... ('a', '=>', 1)('c', '=>', 3)('b', '=>', 2)>>> for ((a,b), c) in [((1,2),3),((4,5),6)]:... print(a,b,c)... (1, 2, 3)(4, 5, 6)
Python 3的扩展赋值:关键也就是*的引入
>>> for (a,*b,c) in [(1,2,3,4),(5,6,7,8)]:...print(a,b,c)...1 [2,3] 45 [6,7] 8>>> for all in [(1,2,3,4),(5,6,7,8)]: #对比上面字典的时候,k为啥就只是一个值'a'?为啥现在为整个元组...a,b,c = all[0],all[1:3],all[3]...print(a,b,c)...1 (2,3) 45 (6,7) 8佐证:for 循环的列表,会以逗号为界限,每次取出一组然后进行处理
>>> items = ["aaa", 111, (4,5),2.1]>>> tests = [(4,5), 3.4]>>> for k in tests: #k 第一次值为(4,5)跟上面的all一样都是一次乘装一个分隔单元... if k in items:... print(k, "was found")... else:... print(k, "not found")... ((4, 5), 'was found')(3.4, 'not found')
for 对文件循环读取
file = open('test.txt', 'r')print(file.read())file = open('test.txt') #默认按read模式打开while True: char =file.read(1) #for会一次把文件加载至内存 if not char: break #文件结尾处,break print(char)file = open('test.txt') while True: line = file.readline() if not line: break print(line, end='')file = open('test.txt', 'rb')while True: chunk = file.read(10) #因为上面它是按rb读的,所以就是每次读入10个byte. if not chunk: break print(chunk)for char in open('test.txt').read(): #for会一次把文件加载至内存 print(char)for line in open('test.txt').readlines(): #readlines方法会一次把文件载入到行字符串列表,然后通过for在一次次读取。 print(line, end='')for line in open('test.txt'): #iterator:best text input mode print(line, end='') #end来抑制一个\n,因为行字符串本身就有一个while循环读取文件内容每次读取一行或一个字符,倒数2,3中的for和readlines的效果时先把文件都放入内存。你万一文件太大了呢?而iterator是文件迭代器,每循环一次读入一行。
while的机制跟最后一个for语句用的iterator一样,但是他俩速度还是有差别的,Itherator 在Python中是以C语言速度运行,而while循环版本时通过Python虚拟机运行Python字节码的。
- While / for 语句
- for while 循环语句
- 循环语句:for;while;for while;foreach
- 循环语句小结 for while do-while
- switch、for、 while 、do...while语句
- 循环结构语句---for,while,do-while
- JavaScript while, do while for 循环语句
- 循环语句(for;while;do -while)
- 循环语句(while、do...while、for)
- PYTHON-if while,for语句
- 循环语句 for while until
- 1.1.8 while for语句
- Java03-while语句,for语句、函数
- python if语句、while&for语句
- Java常识 ------分支语句(for do---while while语句)
- while循环语句 do-while循环语句 for语句嵌套循环语句辅助控制语句
- while语句+for语句+for嵌套练习-第3天
- C#循环语句(while语句和for语句)
- linux任务调度命令
- div+css与table+css的优缺点
- 将二叉树PreOrder, inOrder序列化后,再恢复树形结构
- redis详解
- 网站设计师应忘记桌面:以移动设备为主
- While / for 语句
- 互联网时代掘金在线教育:自助式学习 社交是标配元素
- 中国科学院大学
- JS:停止事件冒泡和阻止浏览器的默认行为 js/jquery/prototype
- LinQ的查询中的【模糊语句】方法!已测试!
- 我生命中的你
- 平面设计的五大要求与素质
- 爬取带ajax的网页信息,需要将java script里的内容解析成json的格式
- oracle笔记