指Python内部已经定义好的具有特定功能或含义的单词,这些单词不能作为标识符命名,否则会导致语法错误
1.获取当前python版本关键字(保留字)
import keyword
print(keyword.kwlist)
关键字包括:
False;True |
None |
and;or |
as |
assert |
async;await |
break;elif;else;for;continue;if;while |
try;except;finally;raise |
is;not |
from;import |
def |
return |
lambda |
pass |
class |
in |
del |
global;nonlocal |
with |
yield |
2.关键字介绍
(1)False;True
False和True是Python中的两个布尔类型常量,分别代表False和True两个逻辑值。
False代表逻辑上的假,通常用于条件语句的判断,如:
if x == False:
print("x is false")
True代表逻辑上的真,也通常用于条件语句的判断,如:
if x == True:
print("x is true")
(2)None
None是Python中表示空值或缺失值的常量。在Python中,None是一个对象,它是NoneType类型的唯一实例。通常用于表示一个变量或对象没有赋值或者不存在。
以下是一些使用None的例子:
pythonCopy code
# 初始化变量为None
x = None
# 函数返回None
def my_function():
# do something...
return None
# 判断变量是否为None
if x is None:
print("x is None")
需要注意的是,None和其他值(如0、空字符串、空列表等)是不同的,因为它们在逻辑上是有意义的值,而None表示缺失或空值。
(3)and;or;not;is
and和or和not是Python中的逻辑运算符
not 用于对一个布尔值取反。如果一个布尔值为 True,那么 not 将返回 False,反之亦然
is 用于判断两个对象是否引用同一个内存地址,即它们是否是同一个对象
(4)as
用于给模块、函数、类等对象起别名
(5)assert
用于检查一个条件是否为真,为真继续执行,为假则会抛出一个 AssertionError 异常。
a = 1
assert a == 1, 'a值不正确'
(6)async;await
async用于定义一个异步函数。异步函数在执行时不会阻塞当前线程,可以在等待 I/O 操作的同时执行其他任务,从而提高程序的并发性能
await用于等待一个异步函数执行完成并返回结果
(7)break;elif;else;for;continue;if;while
break 关键字用于跳出当前所在的循环体,不再执行循环体内剩余的语句,直接执行循环体后面的代码
continue 关键字用于跳过当前循环中的某些语句,直接执行下一次循环
在多重循环嵌套中,如果想要在内部循环中跳出外部循环,可以使用 break 和 continue 配合标记实现
for i in range(5):
for j in range(5):
if i == 3 and j == 3:
# 标记为True,表示需要跳出外部循环
break_flag = True
break
elif i == 2 and j == 2:
# 跳过内部循环中的某些语句
continue
print(i, j)
if break_flag:
# 在外部循环中判断标记是否为True,如果为True则跳出外部循环
break
(8)try;except;finally;raise
try 语句用来包含可能会抛出异常的代码块
except 语句用来捕获并处理抛出的异常
finally 语句用来指定无论是否抛出异常都要执行的代码块
raise 语句用来抛出一个指定的异常
try:
# 可能会抛出异常的代码块
x = 1 / 0
except ZeroDivisionError:
# 捕获并处理指定类型的异常
print("除数不能为零")
finally:
# 无论是否抛出异常都会执行的代码块
print("程序结束")
# 抛出指定的异常
raise TypeError("类型错误")
(9)from;import
from 和 import 关键字来导入模块中的函数、变量和类等
(10)def;return
def定义函数的关键字,用于声明一个函数并指定函数名、参数列表和函数体
return用于从函数中返回值。当调用一个函数时,它会执行函数中的代码,并在遇到 return 语句时停止执行并返回一个值。一个函数可以没有 return 语句,这种情况下它会在执行完所有语句后返回一个特殊值 None
(11)lambda
lambda 是 Python 中的一个关键字,用于创建一个匿名函数。它可以接受任意数量的参数,并且返回一个表达式的值
lambda 表达式通常用在函数参数需要一个函数作为参数的场景中,可以避免定义一个独立的函数,从而简化代码
f = lambda x: x ** 2
print(f(5)) # 输出 25
创建了一个匿名函数 f,它接受一个参数 x,返回 x 的平方
(12)pass
空语句,它不做任何事情,只是作为占位符使用
在定义一个函数或者类时,如果还没有确定函数或类的具体实现,可以用 pass 语句先占位
(13)class
class 关键字用于创建类
(14)in
用于测试某个值是否包含在某个序列(例如列表、元组、字符串等)中
# 判断 1 是否包含在列表 [1, 2, 3] 中
if 1 in [1, 2, 3]:
print("1 is in the list")
# 判断 "a" 是否包含在字符串 "hello world" 中
if "a" in "hello world":
print("a is in the string")
not in,用于判断某个值是否不包含在某个序列中
(15)del
del 是 Python 中的一个关键字,用于删除对象。它可以删除变量、列表中的元素、字典中的元素等
当 del 用于删除变量时,它会删除变量名和对象的绑定关系,但不会删除对象本身。如果对象没有其他变量与之绑定,那么它会被垃圾回收
当 del 用于删除列表中的元素时,可以通过索引来指定要删除的元素。例如,del a[0] 可以删除列表 a 中的第一个元素
当 del 用于删除字典中的元素时,可以通过键来指定要删除的元素。例如,del d[key] 可以删除字典 d 中键为 key 的元素
需要注意的是,当 del 用于删除变量时,如果变量不存在会抛出 NameError 异常。当 del 用于删除列表或字典中不存在的元素时,会抛出 IndexError 或 KeyError 异常
(16)global;nonlocal
global 和 nonlocal 是 用来访问和修改变量作用域的关键字
global 用于在函数内部访问和修改全局变量
nonlocal 用于在函数内部访问和修改外层嵌套函数的局部变量
在函数内部使用 global 或 nonlocal 关键字访问和修改变量时,需要确保变量已经被声明和赋值。否则会抛出 UnboundLocalError 或 NameError 异常
(17)with
用于资源管理,例如文件读写、网络请求等操作。在 with 块内部使用资源,不用担心资源没有关闭或释放,即使发生异常也可以保证资源正常释放
(18)yield
yield 是 Python 中的一个关键字,用于生成器函数中,用于在函数执行过程中产生一个值并暂停函数的执行,等待下一次调用时继续执行。通常用于处理大量数据的情况,避免一次性生成所有数据导致内存占用过大的问题
生成器函数是一种特殊的函数,它返回一个生成器对象,该对象可以像迭代器一样被逐个访问。当生成器函数被调用时,它不会立即执行,而是返回一个生成器对象,只有当对该对象调用 next() 函数时,函数才会执行,直到遇到 yield 关键字或函数结束才会停止执行,返回一个值给调用者,并将函数状态保存下来,以便下次调用时可以从上次停止的地方继续执行