温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python的流程控制是什么

发布时间:2020-09-24 13:43:35 来源:亿速云 阅读:169 作者:Leah 栏目:编程语言

本篇文章给大家分享的是有关Python的流程控制是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

if 语句

也许最著名的语句是 if 语句了。

例如:

>>> x = int(input("Please enter an integer: ")) Please enter an integer: 42 >>> if x < 0: ...     x = 0 ...     print('Negative changed to zero') ... elif x == 0: ...     print('Zero') ... elif x == 1: ...     print('Single') ... else: ...     print('More') ...

这边可以有 0 个或者多个 elif 部分,并且 else 部分是可选的。关键字 elif 是 'else if' 的缩写,它有助于避免过度缩进。 一个 if... elif ... elif ... 序列可以替代其他语言中的 switch 或 case 语句。

for 语句

Python 中 for 语句有点不同于 C 和 Pascal 中的 for 语句。Python 的 for 语句按照项目在序列中出现的顺序迭代任何序列(列表或字符串),而不是总是迭代数学的算术级数(如 Pascal 中),或者让用户能够定义迭代步骤和停止条件(如 C),例如(没有双关语):

>>> # 测量字符串: ... words = ['cat', 'window', 'defenestrate'] >>> for w in words: ...     print(w, len(w)) ... cat 3 window 6 defenestrate 12

如果你需要修改序列在循环内的迭代(例如复制所选项目),建议你先复制。迭代序列操作并不会隐式地复制。切片方法使这一操作特别方便:

>>> for w in words[:]:  # 循环遍历整个列表的切片副本。 ...     if len(w) > 6: ...         words.insert(0, w) ... >>> words ['defenestrate', 'cat', 'window', 'defenestrate']

使用 for w in words:,该示例将尝试创建一个无穷列表,反复的插入 defenestrate 。

 range() 函数

如果你需要迭代一系列的数字,内建的函数 range() 会非常有用。如,生成等差数列:

>>> for i in range(5): ...     print(i) ... 0 1 2 3 4

给定的停止位是不会出现在生成的序列中的; range(10) 生成 10 个值,是长度为 10 的序列的项的合法指数。可以让区间开始于其他的数字,或者指定不同的增量(甚至是负数;有时候这被叫做 ‘步长’):

range(5, 10)    5, 6, 7, 8, 9 range(0, 10, 3)    0, 3, 6, 9 range(-10, -100, -30)   -10, -40, -70

要遍历一个序列的索引,你可以像下面这样组合 range() 和 len() :

>>> a = ['Mary', 'had', 'a', 'little', 'lamb'] >>> for i in range(len(a)): ...     print(i, a[i]) ... 0 Mary 1 had 2 a 3 little 4 lamb

然而,在大多数情况下,使用 enumerate() 函数更方便,可以看 循环技术.

如果你直接打印一个区间的话,会发生奇怪的事情:

>>> print(range(10)) range(0, 10)

在很多方面, range() 返回的对象的行为像列表,但实际上它不是。它是一个对象,当你迭代它的时候,会连续的返回整个序列的项目,但不会真的创建列表,从而节省空间。

我们称这样的对象为 可迭代的 ,也就是说,它很适合于当作函数或者构造函数的目标,它们期望从这里可以获得连续的项目直到耗尽。我们已经看到 for 语句是一个 迭代器 。list() 函数是另一个;它可从可迭代对象中创建列表:

>>> list(range(5)) [0, 1, 2, 3, 4]

break 和 continue 语句,以及循环上的 else 子句

break 语句,类似于 C ,会打破 for 或 while 循环的最内层。

循环语句可能有 else 子句;它会在列表耗尽(用  for )从而终止循环或者条件为假(用  while )的时候被执行,而不是循环被 break 语句终止的时候;这被下面的这个查找素数的循环例证了:

>>> for n in range(2, 10): ...     for x in range(2, n): ...         if n % x == 0: ...             print(n, 'equals', x, '*', n//x) ...             break ...     else: ...         # 没有找到一个因数导致的循环失败 ...         print(n, 'is a prime number') ... 2 is a prime number 3 is a prime number 4 equals 2 * 2 5 is a prime number 6 equals 2 * 3 7 is a prime number 8 equals 2 * 4 9 equals 3 * 3

(是的,这是正确的代码。密切关注: for 循环的 else 子句,不是 if 语句。)

当在循环使中使用 else 子句时,与其说很类似于 if 语句,不如说更类似于 try 语句中的 else 子句:一个 try 语句的 else 子句会在没有异常发生的时候执行,而一个循环的 else 子句会在没有 break 发生的时候执行。要了解更多 try 语句和异常,请看 异常处理.

continue 语句,也是从 C 借来的,用于继续循环的下一次迭代:

>>> for num in range(2, 10): ...     if num % 2 == 0: ...         print("Found an even number", num) ...         continue ...     print("Found a number", num) Found an even number 2 Found a number 3 Found an even number 4 Found a number 5 Found an even number 6 Found a number 7 Found an even number 8 Found a number 9

 pass 语句

pass 语句什么也不做。它可以用于语法上需要,但程序不需要做什么的时候。例如:

>>> while True: ...     pass  # 等待键盘中断(Ctrl+C) ...

通常也用于创建小类的时候:

>>> class MyEmptyClass: ...     pass ...

以上就是Python的流程控制是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI