以下是 Python 中的关键字(基于 Python 3.11 版本,共 **36 个**),按功能分类解释它们的核心用途和常见场景。每个关键字都会用通俗易懂的语言和代码示例说明。
一、控制程序流程的关键字
1. **`if` / `elif` / `else`**
- **用途**:条件判断。
- **示例**:
```python
age = 18
if age < 18:
print("未成年")
elif age == 18:
print("刚好成年")
else:
print("已成年")
```
2. **`for` / `in`**
- **用途**:遍历序列(列表、字符串等)。
- **示例**:
```python
for i in [1, 2, 3]:
print(i) # 输出 1, 2, 3
```
3. **`while`**
- **用途**:循环执行代码,直到条件不满足。
- **示例**:
```python
count = 0
while count < 3:
print(count) # 输出 0, 1, 2
count += 1
```
4. **`break`**
- **用途**:跳出当前循环。
- **示例**:
```python
for i in range(5):
if i == 3:
break # 循环在i=3时终止
print(i) # 输出 0, 1, 2
```
5. **`continue`**
- **用途**:跳过当前循环的剩余代码,进入下一次循环。
- **示例**:
```python
for i in range(5):
if i == 2:
continue # 跳过i=2时的循环
print(i) # 输出 0, 1, 3, 4
```
二、定义函数和类的关键字
6. **`def`**
- **用途**:定义函数。
- **示例**:
```python
def greet(name):
print(f"你好,{name}!")
```
7. **`class`**
- **用途**:定义类(面向对象编程)。
- **示例**:
```python
class Dog:
def bark(self):
print("汪汪!")
```
8. **`return`**
- **用途**:从函数中返回结果。
- **示例**:
```python
def add(a, b):
return a + b
```
9. **`yield`**
- **用途**:定义生成器函数,逐步产生值。
- **示例**:
```python
def count_up_to(n):
i = 1
while i <= n:
yield i
i += 1
```
10. **`lambda`**
- **用途**:定义匿名函数(简单的一行函数)。
- **示例**:
```python
add = lambda a, b: a + b
print(add(3, 5)) # 输出 8
```
三、处理异常的关键字
11. **`try` / `except` / `finally`**
- **用途**:捕获和处理异常。
- **示例**:
```python
try:
print(10 / 0)
except ZeroDivisionError:
print("不能除以零!")
finally:
print("无论如何都会执行")
```
12. **`raise`**
- **用途**:手动触发异常。
- **示例**:
```python
if age < 0:
raise ValueError("年龄不能为负数!")
```
四、逻辑运算关键字
13. **`and` / `or` / `not`**
- **用途**:逻辑运算(与、或、非)。
- **示例**:
```python
if age >= 18 and age <= 60:
print("成年人")
```
14. **`is`**
- **用途**:判断两个对象是否是同一个(内存地址相同)。
- **示例**:
```python
a = [1, 2]
b = a
print(a is b) # 输出 True
```
15. **`in`**
- **用途**:判断元素是否在序列中。
- **示例**:
```python
print(3 in [1, 2, 3]) # 输出 True
```
五、变量作用域相关
16. **`global`**
- **用途**:在函数内声明使用全局变量。
- **示例**:
```python
x = 10
def set_x():
global x
x = 20
set_x()
print(x) # 输出 20
```
17. **`nonlocal`**
- **用途**:在嵌套函数中声明使用外层(非全局)变量。
- **示例**:
```python
def outer():
x = 10
def inner():
nonlocal x
x = 20
inner()
print(x) # 输出 20
```
六、其他重要关键字
18. **`import` / `from`**
- **用途**:导入模块或模块中的内容。
- **示例**:
```python
import math
from math import sqrt
```
19. **`as`**
- **用途**:给模块或变量起别名。
- **示例**:
```python
import numpy as np
```
20. **`pass`**
- **用途**:空语句,占位符(表示“什么都不做”)。
- **示例**:
```python
def empty_function():
pass # 暂时留空
```
21. **`assert`**
- **用途**:断言条件为真,否则触发异常(用于调试)。
- **示例**:
```python
assert 1 + 1 == 2, "数学错了!"
```
22. **`async` / `await`**
- **用途**:定义异步函数和等待异步操作(协程)。
- **示例**:
```python
async def fetch_data():
await some_async_task()
```
七、完整关键字列表
以下是 Python 3.11 的所有关键字(共 36 个):
```python
False await else import pass
None break except in raise
True class finally is return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield
```
八、关键注意事项
1. **关键字不能作为变量名**:
```python
# 错误示例!
class = 10 # 语法错误,class是关键字
```
2. **`is` 和 `==` 的区别**:
- `is` 比较内存地址,`==` 比较值是否相等。
- 示例:
```python
a = [1, 2]
b = [1, 2]
print(a == b) # True(值相等)
print(a is b) # False(不同对象)
```
3. **`global` 和 `nonlocal` 的区别**:
- `global` 用于全局变量,`nonlocal` 用于外层嵌套函数的变量。
**总结**
理解这些关键字是掌握 Python 语法的基础。建议在实际编码中多练习,逐步熟悉它们的用法! 🚀