跳转到内容

Python 关键字

来自代码酷

模板:Note

Python关键字[编辑 | 编辑源代码]

Python关键字(也称为保留字)是Python语言中具有特殊含义的预定义标识符。这些单词被Python解释器保留用于特定功能,不能用作变量名、函数名或其他标识符。

关键字列表[编辑 | 编辑源代码]

Python 3.11共有35个关键字,可通过以下代码查看:

import keyword
print(keyword.kwlist)

输出示例:

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

关键字分类[编辑 | 编辑源代码]

值关键字[编辑 | 编辑源代码]

  • True/False/None:表示布尔值和空值
  • and/or/not:逻辑运算符

控制流关键字[编辑 | 编辑源代码]

  • if/elif/else:条件语句
  • for/while/break/continue:循环控制
  • try/except/finally/raise:异常处理

结构关键字[编辑 | 编辑源代码]

  • def/return:函数定义
  • class:类定义
  • lambda:匿名函数

模块和命名空间[编辑 | 编辑源代码]

  • import/from/as:模块导入
  • global/nonlocal:变量作用域

其他[编辑 | 编辑源代码]

  • assert:调试断言
  • del:删除引用
  • pass:空操作
  • with:上下文管理
  • yield:生成器
  • async/await:异步编程

详细示例[编辑 | 编辑源代码]

条件控制示例[编辑 | 编辑源代码]

age = 18
if age < 13:
    print("儿童")
elif age < 18:
    print("青少年")
else:
    print("成人")

输出:

成人

循环控制示例[编辑 | 编辑源代码]

for i in range(5):
    if i == 3:
        break  # 跳出循环
    print(i)

输出:

0
1
2

函数定义示例[编辑 | 编辑源代码]

def greet(name):
    return f"Hello, {name}!"

print(greet("Alice"))

输出:

Hello, Alice!

关键字使用注意事项[编辑 | 编辑源代码]

1. 不可用作标识符:尝试使用关键字作为变量名会引发语法错误

   class = "Math"  # 错误!'class'是关键字

2. 区分大小写:Python关键字都是小写

   TRUE = 1  # 合法,但不是关键字True

3. 上下文相关:某些关键字在不同上下文中有不同含义(如'yield'在生成器函数中)

实际应用场景[编辑 | 编辑源代码]

上下文管理器(with)[编辑 | 编辑源代码]

with open('data.txt', 'r') as file:
    content = file.read()
# 文件会自动关闭

异步编程(async/await)[编辑 | 编辑源代码]

async def fetch_data():
    # 模拟异步操作
    return "data"

async def main():
    result = await fetch_data()
    print(result)

关键字关系图[编辑 | 编辑源代码]

graph TD A[Python关键字] --> B[值关键字] A --> C[控制流关键字] A --> D[结构关键字] A --> E[模块和命名空间] A --> F[其他] B --> B1[True, False, None] B --> B2[and, or, not] C --> C1[if, elif, else] C --> C2[for, while] C --> C3[break, continue] C --> C4[try, except, finally] D --> D1[def, return] D --> D2[class] D --> D3[lambda] E --> E1[import, from, as] E --> E2[global, nonlocal] F --> F1[assert, del] F --> F2[pass, with] F --> F3[yield] F --> F4[async, await]

数学表达式中的关键字[编辑 | 编辑源代码]

在Python中,逻辑运算符可用于布尔代数: (xy)(¬z) 对应Python表达式:

(x and y) or (not z)

常见问题[编辑 | 编辑源代码]

如何检查单词是否为关键字?[编辑 | 编辑源代码]

import keyword
print(keyword.iskeyword('try'))  # 输出: True
print(keyword.iskeyword('Try'))  # 输出: False

为什么需要pass关键字?[编辑 | 编辑源代码]

`pass`作为占位符,用于语法上需要语句但不需要操作的情况:

def todo():
    pass  # 待实现

总结[编辑 | 编辑源代码]

Python关键字是构建程序的基础元素,每个关键字都有特定用途。理解这些关键字是掌握Python编程的重要一步。记住永远不要将它们用作标识符,并注意它们在特定上下文中的特殊行为。