当前位置: 首页 > 后端技术 > Python

《史无前例!编程语言python斩获最有发展第一与排行榜第三!》深入Python流程控制

时间:2023-03-26 13:09:43 Python

除了前面介绍的[while]语句外,Python还借鉴了其他语言的一些流程控制函数,并加以改动。4.1.[if]语句也许最著名的是[if]语句。例如:>>>x=int(input("请输入一个整数:"))请输入一个整数:42>>>ifx<0:...x=0...print('负数改为零')...elifx==0:...print('零')...elifx==1:...print('Single')...else:...print('More')...More可能有零个或多个[elif]部分,[else]是可选的。关键字'[elif]'是'elseif'的缩写,可以有效避免缩进过深。[if]...[elif]...[elif]...序列用于代替其他语言中的switch或case语句。4.2.[for]语句Python中的[for]语句与C或Pascal中的语句略有不同。一个普通的循环可能是基于一个算术数值步进过程(如Pascal),也可能是用户自己定义迭代步数和终止条件(如C),Python的[for]语句是基于任意序列(链表)orstring)Children,按照它们在序列中出现的顺序进行迭代。举个例子(无意暗示):所以想学习的同学,一定要听听这位老师的课,领取python福利。想学的同学可以去猛子老师的微信(同读音):前排是:762,中排是:459,后排一组是:510,把上面三组组合起来就可以了字母顺序。她会安排学习。>>>#测量一些字符串:...words=['cat','window','defenestrate']>>>forwinwords:...print(w,len(w))...cat3window6defenestrate12在迭代过程中修改迭代序列是不安全的(仅在使用链表等可变序列时)。如果你想修改你迭代的序列(例如,复制选择),你可以迭代它的一个副本。这可以使用cut标志轻松完成:>>>forwinwords[:]:#Loopoveraslicecopyoftheentirelist....iflen(w)>6:...words.insert(0,w)...>>>words['defenestrate','cat','window','defenestrate']4.3。[range()]函数如果你需要一个数字序列,内置函数[range()]会很方便,它会生成等差级数的链表:>>>foriinrange(5):...print(i)...01234range(10)生成一个10个值的链表,用链表的索引值填充长度为10的链表,不包括范围内的结束值。也可以用另一个值开始[range()]操作,也可以指定一个不同的步长值(甚至是负数,有时也称为“步长”):所以想要学习的同学,有必要听听这位老师的课,领取python福利。想学的同学可以去猛子老师的微信(同读音):前排是:762,中排是:459,后排是:510,把以上三组字母按顺序组合起来她会安排学习。range(5,10)5through9range(0,10,3)0,3,6,9range(-10,-100,-30)-10,-40,-70如果需要迭代链表索引,如下所示组合[range()]和[len()]>>>a=['Mary','had','a','little','lamb']>>>foriinrange(len(a)):...print(i,a[i])...0Mary1had2a3little4lamb然而,[enumerate()]在这种情况下可以方便地使用,请参考[循环技术]。如果你只打印一个序列,就会发生奇怪的事情:>>>print(range(10))range(0,10)[range()]函数返回的对象以不同的方式表现得像一个列表,但事实是它不是。当您对其进行迭代时,它是一个按预期顺序返回连续项目的对象;但为了节省空间,它实际上并没有构建列表。我们称这样的对象为可迭代的,即适合作为函数或结构的目标(参数),这些函数或结构期望从某物开始连续的项目直到结束。我们已经看到的[for]语句就是这样一个迭代器。[list()]函数是另一个从可迭代(对象)创建列表的(迭代器):>>>list(range(5))[0,1,2,3,4]我们稍后会看到更多函数返回可迭代对象(对象)并将可迭代对象(对象)作为参数。4.4.[break]和[continue]语句,以及循环中的[else]子句[break]语句类似于C中的语句,用于跳出最近一级的[for]或[while]循环。一个循环可以有一个else子句;它在循环遍历整个列表(对于[for])或执行条件为假(对于[while])时执行,但如果循环被[break]终止则不执行。以下用于搜索素数的示例程序演示了此子句:>>>forninrange(2,10):...forxinrange(2,n):...ifn%x==0:...print(n,'equals',x,'*',n//x)...break...else:...#循环失败但没有找到一个因数...print(n,'is一个素数')...2是一个素数3是一个素数4等于2*25是一个素数6等于2*37是一个素数8等于2*49等于3*3(是的,这是正确的代码。看小心:else语句属于[for]循环,而不属于[if]语句。)当与循环一起使用时,else子句比[try]语句的else子句比[if]具有更多的功能它们有什么共同点:[try]语句的else子句在没有异常发生时运行,循环的else子句在没有break发生时运行。有关[try]语句和异常的更多信息,请参阅[异常处理]。[continue]语句是从C中借用的,它表示循环继续下一次迭代:>>>fornuminrange(2,10):...ifnum%2==0:...print("找到一个偶数",num)...continue...print("找到一个数字",num)找到一个偶数2找到一个数字3找到一个偶数4找到一个数字5找到一个偶数6找到一个数字7找到一个偶数8找到了一个数94.5。[pass]语句[pass]语句什么都不做。它用于那些在语法上必须有一些语句,但程序什么都不做的情况,例如:>>>whileTrue:...pass#Busy-waitforkeyboardinterrupt(Ctrl+C)...Thisis通常用于创建最小结构的类:>>>classMyEmptyClass:...pass...另一方面,在创建新代码时,[pass]可用作函数或控制体的占位符。允许您在更抽象的层面上思考。[pass]可以默默忽略:>>>definitlog(*args):...pass#记得实现这个!...你是不是也想试试,用Python来检验你和那个人的美Gap女神(仅供娱乐,请勿胡思乱想)如果真的遇到好同事,那你就走运了,加油,赶快学习。添加微信(谐音):762459510用于python和爬虫技能资源分享,包括python、pythonweb、爬虫、数据分析等Python技能,以及人工智能、大数据、数据挖掘、办公自动化等学习方法。打造项目开发从零基础到实战的全方位解析!