在 Python 中,关键字(Keywords)是具有特殊含义的保留字,它们用于定义语法和结构。async
是 Python 3.5 引入的关键字,用于支持异步编程(Asynchronous Programming)。下面我将详细讲解 async
及其他一些常见关键字的用法,并通过代码示例帮助你理解。
1. async
和 await
(异步编程)
用于编写异步代码(基于 asyncio
库),提高 I/O 密集型任务的效率。
async
:
- 用于声明一个函数为异步函数(协程函数)。
- 异步函数调用时不会立即执行,而是返回一个协程对象。
await
:
- 用于挂起当前协程,等待另一个协程完成。
示例:
import asyncioasync def fetch_data():print("开始获取数据...")await asyncio.sleep(2) # 模拟I/O操作(如网络请求)print("数据获取完成")return {"data": 123}async def main():task = asyncio.create_task(fetch_data()) # 创建任务print("其他操作...")result = await task # 等待任务完成print("结果:", result)asyncio.run(main()) # 运行入口
输出:
其他操作...
开始获取数据...
数据获取完成
结果: {'data': 123}
2. def
(定义函数)
用于定义普通函数或方法。
def greet(name):return f"Hello, {name}!"
3. class
(定义类)
用于创建类(面向对象编程)。
class Dog:def __init__(self, name):self.name = namedef bark(self):print("Woof!")
4. if/elif/else
(条件判断)
age = 18
if age < 13:print("儿童")
elif age < 20:print("青少年")
else:print("成人")
5. for
和 while
(循环)
for
用于迭代序列:for i in range(3):print(i) # 输出 0, 1, 2
while
用于条件循环:count = 0 while count < 3:print(count)count += 1
6. break
和 continue
(循环控制)
break
:退出当前循环。continue
:跳过当前迭代。
for i in range(5):if i == 2:continue # 跳过2if i == 4:break # 终止循环print(i) # 输出 0, 1, 3
7. try/except/finally
(异常处理)
try:1 / 0
except ZeroDivisionError:print("不能除以零!")
finally:print("无论是否出错都会执行")
8. with
(上下文管理器)
用于资源管理(如文件操作)。
with open("file.txt", "r") as f:content = f.read() # 文件会自动关闭
9. lambda
(匿名函数)
定义简单的单行函数。
square = lambda x: x ** 2
print(square(3)) # 输出 9
10. yield
(生成器函数)
用于生成迭代器,逐步返回值。
def count_up_to(n):for i in range(n):yield i # 每次迭代返回一个值for num in count_up_to(3):print(num) # 输出 0, 1, 2
11. global
和 nonlocal
(变量作用域)
global
:声明全局变量。x = 10 def change_x():global xx = 20 change_x() print(x) # 输出 20
nonlocal
:修改嵌套函数中的变量(Python 3+)。def outer():y = 1def inner():nonlocal yy = 2inner()print(y) # 输出 2
12. import
和 from
(模块导入)
import math
from datetime import datetime
总结
async/await
:异步编程的核心,适合网络请求、文件读写等高延迟任务。- 其他关键字(如
def
,class
,if
)是 Python 基础语法的基石。 - 理解关键字的作用能帮助你写出更高效、更清晰的代码。
如果有其他关键字需要详细解释,可以告诉我!