Python关键字梳理

在 Python 中,关键字(Keywords)是具有特殊含义的保留字,它们用于定义语法和结构。async 是 Python 3.5 引入的关键字,用于支持异步编程(Asynchronous Programming)。下面我将详细讲解 async 及其他一些常见关键字的用法,并通过代码示例帮助你理解。


1. asyncawait(异步编程)

用于编写异步代码(基于 asyncio 库),提高 I/O 密集型任务的效率。

async
  • 用于声明一个函数为异步函数(协程函数)。
  • 异步函数调用时不会立即执行,而是返回一个协程对象。
await
  • 用于挂起当前协程,等待另一个协程完成。
示例:
python 复制代码
import asyncio

async 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(定义函数)

用于定义普通函数或方法。

python 复制代码
def greet(name):
    return f"Hello, {name}!"

3. class(定义类)

用于创建类(面向对象编程)。

python 复制代码
class Dog:
    def __init__(self, name):
        self.name = name
    def bark(self):
        print("Woof!")

4. if/elif/else(条件判断)

python 复制代码
age = 18
if age < 13:
    print("儿童")
elif age < 20:
    print("青少年")
else:
    print("成人")

5. forwhile(循环)

  • for 用于迭代序列:

    python 复制代码
    for i in range(3):
        print(i)  # 输出 0, 1, 2
  • while 用于条件循环:

    python 复制代码
    count = 0
    while count < 3:
        print(count)
        count += 1

6. breakcontinue(循环控制)

  • break:退出当前循环。
  • continue:跳过当前迭代。
python 复制代码
for i in range(5):
    if i == 2:
        continue  # 跳过2
    if i == 4:
        break    # 终止循环
    print(i)     # 输出 0, 1, 3

7. try/except/finally(异常处理)

python 复制代码
try:
    1 / 0
except ZeroDivisionError:
    print("不能除以零!")
finally:
    print("无论是否出错都会执行")

8. with(上下文管理器)

用于资源管理(如文件操作)。

python 复制代码
with open("file.txt", "r") as f:
    content = f.read()  # 文件会自动关闭

9. lambda(匿名函数)

定义简单的单行函数。

python 复制代码
square = lambda x: x ** 2
print(square(3))  # 输出 9

10. yield(生成器函数)

用于生成迭代器,逐步返回值。

python 复制代码
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. globalnonlocal(变量作用域)

  • global:声明全局变量。

    python 复制代码
    x = 10
    def change_x():
        global x
        x = 20
    change_x()
    print(x)  # 输出 20
  • nonlocal:修改嵌套函数中的变量(Python 3+)。

    python 复制代码
    def outer():
        y = 1
        def inner():
            nonlocal y
            y = 2
        inner()
        print(y)  # 输出 2

12. importfrom(模块导入)

python 复制代码
import math
from datetime import datetime

总结

  • async/await:异步编程的核心,适合网络请求、文件读写等高延迟任务。
  • 其他关键字(如 def, class, if)是 Python 基础语法的基石。
  • 理解关键字的作用能帮助你写出更高效、更清晰的代码。

如果有其他关键字需要详细解释,可以告诉我!

相关推荐
孟健11 小时前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞13 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽15 小时前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers
敏编程20 小时前
一天一个Python库:jsonschema - JSON 数据验证利器
python
前端付豪20 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
databook20 小时前
ManimCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升
python·动效
花酒锄作田1 天前
使用 pkgutil 实现动态插件系统
python
前端付豪2 天前
LangChain链 写一篇完美推文?用SequencialChain链接不同的组件
人工智能·python·langchain
曲幽2 天前
FastAPI实战:打造本地文生图接口,ollama+diffusers让AI绘画更听话
python·fastapi·web·cors·diffusers·lcm·ollama·dreamshaper8·txt2img
老赵全栈实战2 天前
Pydantic配置管理最佳实践(一)
python