Python关键字梳理

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


1. async 和 await(异步编程)

用于编写异步代码(基于 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. for 和 while(循环)

  • for 用于迭代序列:

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

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

6. break 和 continue(循环控制)

  • 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. global 和 nonlocal(变量作用域)

  • 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. import 和 from(模块导入)

python 复制代码
import math
from datetime import datetime

总结

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

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

相关推荐
第九序言T2 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路2 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_426003962 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_2 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
quantdash_cc3 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl4 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计
云和数据.ChenGuang4 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain
专注仿真5 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
wflynn6 小时前
GitHub 今日推荐|Edge0:让大号 MoE 模型在一台 Mac 上流式跑起来
python·开源·github
2601_967980116 小时前
python之用scapy分层解析pcap报文(Ethernet帧、IP数据包、TCP数据包、UDP数据包、Raw数据包)
python·scapy·pcap·协议分析·网络数据包