Python编程语言中有33个保留关键字,这些关键字在Python语法中有特殊含义,不能用作变量名、函数名或其他标识符。
33个保留字(关键字)
不能冲突的关键词 33 个
来看看都有哪些关键字。
import keyword
print(",".join(keyword.kwlist))
False,None,True,and,as,assert,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
不用刻意去记,这些都会有区别于普通代码的颜色提示。
- and: 用于表达式运算,逻辑与操作
- as: 用于类型转换
- assert: 断言,用于判断变量或条件表达式的值是否为真
- break: 中断循环语句的执行
- class: 用于定义类
- continue: 继续执行下一次循环
- def: 用于定义函数或方法
- del: 删除变量或者序列的值
- elif: 条件语句 与if else 结合使用
- else: 条件语句 条件语句,与if,elif结合使用。也可以用于异常和循环使用
- except: 包括捕获异常后的操作代码,与try,finally结合使用
- finally: 用于异常语句,出现异常后,始终要执行finally包含的代码块。与try,except结合使用
- from: 用于导入模块,与import结合使用
- global: 定义全局变量
- if: 条件语句,与else,elif结合使用
- import: 用于导入模块,与from 结合使用
- in: 判断变量是否存在序列中
- is: 判断变量是否为某个类的实例
- lambda: 定义匿名函数
- not: 用于表达式运算,逻辑非操作
- or: 用于表达式运算,逻辑或操作
- pass: 空的类,函数,方法的占位符
- print: 打印语句
- raise: 异常抛出操作
- return: 用于从函数返回计算结果
- try: 包含可能会出现异常的语句,与except,finally结合使用
- while: 循环语句
- with: 简化Python的语句
- yield: 用于从函数依次返回值
help(keywords 对应关键字) 可以通过键入Python 解释器随时查看此列表。保留字区分大小写,必须完全按照所示使用,除了 False , None 和 True 其他都是区分大小写。
以下是关于这些关键字的一些例子和解释:
and
:这是一个逻辑运算符,用于联合两个条件语句。例如:
if age > 18 and age < 60:
print("You are an adult")
as
:在导入模块时使用,为模块提供别名。例如:
import numpy as np
assert
:用于测试条件,如果条件为真,那么程序继续执行,如果条件为假,则程序会报错。例如:
assert x > 0, "Error: x cannot be negative"
break
:用于终止最内层循环。例如:
for i in range(10):
if i == 5:
break
汇总的用法如下
关键字 | 说明 | 例子 |
---|---|---|
False | 表示布尔类型的假值 | x = False |
True | 表示布尔类型的真值 | x = True |
None | 表示空值或缺失值 | x = None |
and | 逻辑与运算符 | if x > 0 and y < 10: |
as | 定义别名或上下文管理器 | import math as m |
assert | 断言语句,用于检查条件是否为真 | assert x > 0 |
break | 跳出当前循环 | while True: break |
class | 定义类 | class MyClass: pass |
continue | 跳过本次循环,进入下一次循环 | for i in range(10): continue |
def | 定义函数 | def my_function(): pass |
del | 删除变量或列表中的元素 | del x 或 del my_list[0] |
elif | 条件语句中的"否则如果"分支 | if x < 0: print("Negative") elif x > 0: print("Positive") |
else | 条件语句中的"否则"分支 | if x > 0: print("Positive") else: print("Non-positive") |
except | 异常处理语句中的异常类型 | try: ... except ValueError: ... |
finally | 异常处理语句中的最终执行块 | try: ... finally: ... |
for | 遍历迭代对象的循环 | for i in range(10): print(i) |
from | 从模块中导入特定内容 | from math import pi |
global | 声明全局变量 | global x |
if | 条件语句中的条件判断 | if x > 0: print("Positive") |
import | 导入模块 | import math |
in | 判断元素是否在容器中 | if x in my_list: print("Found") |
is | 判断两个对象是否相同 | if x is None: print("x is None") |
lambda | 创建匿名函数 | add = lambda x, y: x + y |
nonlocal | 声明非局部变量 | nonlocal x |
not | 逻辑非运算符 | if not x: print("Not true") |
or | 逻辑或运算符 | if x > 0 or y > 0: print("At least one is positive") |
pass | 占位语句,什么也不做 | def my_function(): pass |
raise | 抛出异常 | raise ValueError("Invalid value") |
return | 返回函数结果 | def |
这些关键字在Python中有特殊的含义,我们不能使用它们作为变量名、函数名或者其他标识符,否则会引发错误。
for = 1
SyntaxError: invalid syntax
如果我们尝试定义一个名为and
的变量,Python会报错:
and = 1 # SyntaxError: invalid syntax
同样,我们也不能将这些关键字用作函数名:
def break(): # SyntaxError: invalid syntax
pass
保留字的检查
我们可以通过内置模块 keyword
来检查一个字符串是否是Python的保留字。
import keyword
def is_keyword(s):
return keyword.iskeyword(s)
print(is_keyword('and')) # True
print(is_keyword('hello')) # False
使用 in
运算符进行检查。
import keyword
print("yield" in keyword.kwlist)
print("Yield" in keyword.kwlist)
True
False