当前位置: 首页 > news >正文

Python关键字梳理

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


1. asyncawait(异步编程)

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

  • for 用于迭代序列:
    for i in range(3):print(i)  # 输出 0, 1, 2
    
  • while 用于条件循环:
    count = 0
    while count < 3:print(count)count += 1
    

6. breakcontinue(循环控制)

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

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

import math
from datetime import datetime

总结

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

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

http://www.xdnf.cn/news/1082521.html

相关文章:

  • 【MySQL进阶】错误日志,二进制日志,mysql系统库
  • React Native 开发环境搭建--mac--android--奔溃的一天
  • virtualbox+vagrant私有网络宿主机无法ping通虚拟机问题请教
  • Java创建型模式---单例模式
  • 如何在idea里快速地切换Windows CMD、git bash、powershell
  • Spring boot之身份验证和访问控制
  • 人工智能学习70-Yolo损失函数
  • Ubuntu:Mysql服务器
  • 08_容器化与微服务:构建弹性架构
  • 【Linux】自旋锁和读写锁
  • (LeetCode 面试经典 150 题) 14. 最长公共前缀 (字符串)
  • JVM与JMM
  • 全素山药开发指南:从防痒处理到高可用食谱架构
  • 虚拟机网络编译器还原默认设置后VMnet8和VMnet1消失了
  • 2025最新软件测试面试八股文
  • WPF学习笔记(24)命令与ICommand
  • 【Oracle专栏】分区表增加分区
  • 【机器学习深度学习】模型参数量、微调效率和硬件资源的平衡点
  • Linux:多线程---深入互斥浅谈同步
  • vue中添加原生右键菜单
  • LucidShape 2024.09 最新
  • FreeCAD傻瓜教程-拉簧拉力弹簧的画法及草图的附着位置设定和Part工作台中形体构建器的妙用
  • Flutter 使用http库获取网络数据的方法(一)
  • 初识Linux:Linux开发工具gcc/g++和gdb以及Makefile的使用
  • App爬虫工具篇-appium配置
  • 【STM32实践篇】:GPIO 详解
  • 2025使用VM虚拟机安装配置Macos苹果系统下Flutter开发环境保姆级教程--上篇
  • 九、K8s污点和容忍
  • web前端面试-- MVC、MVP、MVVM 架构模式对比
  • 递归与循环