一学就废|Python基础碎片,控制语句写法

一、判断,if … elif … else

i f 语句用于控制代码流。Python 不使用 switch 或 case 语句来控制代码的逻辑,而是使用 if… elif…else 序列。

>>> import random
>>> num = random.randint(0, 10)
>>> if num < 3:
...     print("less than 3")
... elif num < 5:
...     print("less than 5")
... else:
...     print(num)
...
less than 3

二、循环

2. 1)for 循环

在 Python 中,我们可以通过 for 语句直接访问可迭代对象的项。如果我们需要同时获取列表或元组等可迭代对象的索引和项,使用 enumerate 比 range(len(iterable))更好。

以下是遍历输出一个列表的值,和遍历输出列表的下标和值

>>> for val in ["foo", "bar"]:
...     print(val)
...
foo
bar
>>> for idx, val in enumerate(["foo", "bar", "baz"]):
...     print(idx, val)
...
(0, 'foo')
(1, 'bar')
(2, 'baz')

2. 2)for … else …

当我们第一次看到 else 属于 for 循环时,可能会有点奇怪。else 子句可以帮助我们避免在循环中使用标志变量。循环的 else 子句在没有中断发生时执行。

for _ in range(5):
...     pass
... else:
...     print("no break")
...
no break

下面的代码显示了使用标志变量和 else 子句来控制循环之间的区别。我们可以看到,当循环中发生中断时,else 不会执行。

>>> is_break = False
>>> for x in range(5):
...     if x % 2 == 0:
...         is_break = True
...         break
...
>>> if is_break:
...     print("break")
...
break

>>> for x in range(5):
...     if x % 2 == 0:
...         print("break")
...         break
... else:
...     print("no break")
...
break

2. 3)while … else …

这里的else 子句,其用途与 for 循环中的 else 子句相同。我们可以观察到,当在 while 循环中发生中断时,else 就不会执行。

>>> n = 0
>>> while n < 5:
...     if n == 3:
...         break
...     n += 1
... else:
...     print("no break")
...

2. 4)while …

有许多编程语言,如 C/C++、Ruby 或 Javascript,提供 do while 语句。在 Python 中,没有 do while 语句。但是,我们可以将条件和中断放在 while 循环的末尾来实现同样的事情。

>>> n = 0
>>> while True:
...     n += 1
...     if n == 5:
...         break
...
>>> n
5

三、异常处理,try … except … else …

Python使用try...except..语法结构来捕获程序执行中的异常以及发生异常后的处理。有趣的是,try 语句还为我们提供了一个 else 子句,以避免捕获由不应受 try… 除保护的代码引发的异常。当 try 部分没有异常发生时,else 子句才会执行。

try:
...     print("No exception")
... except:
...     pass
... else:
...     print("Success")
...
No exception
Success
原文链接:,转发请注明来源!