python关键字v1
Python 关键字是指在 Python 解释器中已经有特定含义和用途的词语。Python 语言规定有 35 (python 3.12.2)个关键字,这些关键字应该全部采用小写字母表示,不允许用作变量名、函数名、类名等。
查看python解释器中的所有关键字:
import keyword
# 打印所有关键字
print(len(keyword.kwlist), ':', keyword.kwlist)
1. 控制流程关键字
名称 | 描述 |
---|---|
if/elif/else | 条件判断 |
for/while/else | 循环判断 |
break/continue | 跳出循环、跳出本次循环 |
try/except/else/finally | 异常处理 |
assert | 条件测试的语句 |
if/elif/else
如果给定的条件为True
,则执行相应的代码块。如果条件为False
,则可以选择执行一个else
代码块(如果提供了的话)。
x, y = 10, 5
if x > 5:
print('x > 5')
if x > y:
print('x > y')
else:
print('x < y')
if x > 5:
print('x > 5')
elif x > y:
print('x > y')
else:
print('x < 5 and x < y')
for/while/else
只要条件满足,循环就会一直执行,直到条件变为False
为止。如果条件一开始就不满足,那么循环体一次都不会执行。(else
块通常不是必需的)
# for循环用于遍历可迭代对象(如列表、元组、字典、字符串等)中的元素。
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
print(fruit)
# for循环遍历numbers列表。如果找到了数字3,则通过break语句提前终止循环。由于3确实在列表中,所以循环会在找到3之后终止,并且不会执行else子句中的代码。
for number in range(1, 6):
if number == 3:
break # 当number等于3时,使用break语句退出循环
print(number)
else:
print("循环完成而未找到 3")
# while只要条件满足,循环就会一直执行,直到条件变为False为止。如果条件一开始就不满足,那么循环体一次都不会执行。
count = 0
while True: # 无限循环
print(count)
count += 1
if count >= 5:
break # 当count达到5时,使用break语句退出循环
else:
print("这将不会被打印")
break/continue(必须用在循环内部)
continue
语句用于在循环中跳过当前迭代的剩余部分,并开始下一个迭代。当continue语句被执行时,循环会立即跳过当前迭代中continue之后的所有代码,并检查循环条件以决定是否继续执行下一个迭代。
for number in range(1, 11):
if number % 2 == 0: # 如果数字是偶数
continue # 跳过当前迭代
print(number) # 只打印奇数
# break语句用于提前终止循环(无论是for循环还是while循环)。当break语句被执行时,循环将立即停止,并且程序流程将继续在循环结构之后的第一条语句。
count = 0
while count < 10:
count += 1
if count == 5: # 当count等于5时
print('count等于5时,跳出循环。')
break # 跳出循环
print(count)
try/except/else/finally
try/except/finally/else
结构用于异常处理。这种结构允许你指定在程序执行过程中可能出现的错误(异常),并定义当这些错误发生时应该如何响应。
这里是这些关键字的基本用法和说明:
- try:
try
块中的代码是程序尝试执行的代码。如果这段代码运行期间没有发生异常,那么try
块之后的else
块(如果有的话)将被执行。如果try
块中的代码引发了异常,那么except
块将被执行。 - except:
except
块用于捕获try
块中引发的异常。你可以指定要捕获的异常类型,以及当该异常被触发时要执行的代码。你可以有多个except
块来捕获不同类型的异常。 - else:
else
块是可选的,它会在try
块成功执行(即没有引发异常)之后执行。如果try
块中引发了异常,则else
块将不会被执行。 - finally:
finally
块中的代码无论是否发生异常都会被执行。这通常用于清理资源,如关闭文件或网络连接。
try:
# 尝试执行可能会引发异常的代码
result = 10 / 0
except ZeroDivisionError:
# 捕获ZeroDivisionError异常
print("不能除以零!")
except TypeError as e:
# 捕获其他类型的异常,并打印异常信息
print(f"发生了类型错误: {
e}")
else:
# 如果没有异常发生,执行这里的代码
print("计算成功,结果是:", result)
finally:
# 无论是否发生异常,最后都会执行这里的代码
print("清理资源或执行最后的操作。")
else
块通常不是必需的,并且它通常用于在try
块成功完成后执行一些额外的操作,而不是用于异常处理。finally
块则更常用于资源清理,确保无论程序是否成功,都会执行一些操作。
assert
assert
是一个用于进行条件测试的语句。如果条件为 True
,则 assert
语句不会有任何效果,程序将继续执行。但是,如果条件为 False
,则 assert
语句会触发一个 AssertionError
异常。
condition = False
assert condition, "error message"
其中,condition
是要测试的条件,而 "error message"
是在条件为 False
时引发的异常的消息。这个消息是可选的,但提供它可以使得在调试时更容易理解为什么断言失败了。
# 在函数中使用断言来验证输入
def divide(numerator, denominator):
assert denominator != 0, "Denominator cannot be zero"
return numerator / denominator
print(divide(10, 0))
# 使用断言来验证程序状态
x = [1, 2, 3]
assert len(x) > 0, "List should not be empty"
assert
语句主要用于调试和开发过程中,而不是用于生产环境的错误处理。在生产环境中,你可能希望使用更复杂的错误处理和日志记