Grammar Playground
芝士语法
控制结构
控制流是指程序执行过程中指令的执行顺序,而控制结构则是用于控制程序执行流程的语法构造。和其他主流编程语言一样,Python 也有一套控制结构语法。
顺序执行
在没有遇到别的控制结构时,Python 代码按顺序执行。
python
print("11")
print("45")
print("14")
1
2
3
2
3
Output
txt
11
45
14
1
2
3
2
3
条件分支
使用 if
- elif
- else
让 Python 根据条件决定是否执行某些语句。
在 3.10+
版本中,还可以使用 match
- case
语法。大致相当于别的语言的 switch
- case
,但是更加灵活简洁,且支持解构、序列匹配等高级特性。
python
number = 0x66CCFF
if number > 0:
print("这个数字是正数。")
elif number < 0:
print("这个数字是负数。")
else:
print("这个数字是零。")
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
Output
txt
这个数字是正数。
1
循环
使用 for
或 while
来循环执行某些语句。
for
语句通常用于遍历序列while
语句用于根据条件重复执行
使用 continue
和 break
来控制循环行为。常与条件分支等配合使用。
continue
语句用于立即结束本轮循环break
语句用于立即跳出当前循环
python
sentence = "deep dark fantasy"
for char in sentence:
if char == " ":
break
print(char)
1
2
3
4
5
2
3
4
5
Output
txt
d
e
e
p
1
2
3
4
2
3
4
将上述代码中的
break
换成continue
或者干脆去除会发生什么?
语法占位
pass
语句用于语法上的占位,不执行任何操作。
python
def func():
pass
for i in range(10):
pass
1
2
3
4
5
2
3
4
5
异常处理
具体参见 补注。
使用 try
- except
- else
- finally
捕获(并处理)异常。
使用 raise (...)
抛出异常。在 except
块中时可以不写异常类型以直接将捕获的异常再次抛出。
使用 raise ... from ...
从现有异常抛出新异常。
改变
deno
的值,看看可以引发哪些异常 w
python
class OtherException(Exception):
pass
deno = 0
try:
deno = int(deno)
print(1 / deno)
except ZeroDivisionError:
print("Division by zero.")
except Exception as e:
print("Other error:", e)
raise OtherException("Other error") from e
else:
print("Everything went well.")
finally:
print("Finally meet your end")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Output
txt
Division by zero.
Finally meet your end
1
2
2