一if-elif-else语句(elifelse可选)if有逻辑值式:(缩进)代码(缩进)代码……elif:(缩进)代码(缩进)代码……else:(缩进)代码(缩进)代码……二for/while循环1.for循环(循环次数已知)for迭代变量in可迭代对象:(缩进)代码(缩进)代码……else:(缩进)代码(缩进)代码……(在循环正常结束时执行)用迭代变量将一个可迭代对象值依次取出(依次赋值给迭代变量),直到可迭代对象耗尽,可迭代对象有几个元素就循环几次。可使用range()range(x)返回一个x个元素的可迭代对象迭代变量可以为符号序列,此时可迭代对象应为对应嵌套序列,每个符号序列内的迭代变量取每个可迭代对象中对应的值,其中符号变量的[]和()可省如:For[[[x,y],[z,w]]]in[[[1,2],[3,4]]],[[[5,6],[7,8]]]:循环非正常结束:程序强制结束,遇到break,2.while循环(循环次数未知)while有逻辑值式:(缩进)代码(缩进)代码……else:(缩进)代码(缩进)代码……(在逻辑值为零时执行)3.break语句用来跳出一层循环4.continue语句结束本次循环继续下层循环三上下文管理器1.上下文管理器语法with[as]语句with对象[as变量]:(缩进)语句组2.类实现上下文管理该对象中必须有__enter__()方法和__exit__()方法首先执行对象里面的__enter__函数,它的返回值会赋给as后面的变量。然后开始执行语句组中的语句,不论成功失败(比如发生异常、错误,设置sys.exit()),在语句组执行完成后,都会执行对象中的__exit__函数如file对象的__enter__会返回file对象的地址,__exit__会关闭文件3.生成器实现轻量级上下文管理在函数中使用try-finally语句,在try块中使用yield做返回值。首先执行生成器里的try子块,它的yield返回值会赋给as后面的变量。然后开始执行语句组中的语句,不论成功失败(比如发生异常、错误,设置sys.exit()),在语句组执行完成后,都会执行生成器里的finally子块实例fromcontextlibimportcontextmanagercontextmanagerdeffunction(name,mode):try:f=open(name,mode)yieldffinally:f.close()
转载请注明:http://www.aierlanlan.com/cyrz/5695.html