Python 中的关键字是具有特殊用途的保留单词,不能用作变量名、函数名或标识符名称。这些关键字用于控制程序的流程、定义数据结构和执行其他核心任务。
Python 中的关键字列表
关键字 | 说明 |
---|---|
False | 表示布尔值False(假),用于条件判断和布尔操作。 |
True | 表示布尔值True(真),用于条件判断和布尔操作。 |
None | 表示空值或缺失值,通常用于初始化变量或作为函数的默认参数。 |
and | 逻辑与运算符,用于组合两个条件,当且仅当两个条件都为True时结果为True。 |
or | 逻辑或运算符,用于组合两个条件,当两个条件中至少有一个为True时结果为True。 |
not | 逻辑非运算符,用于取反一个条件的值,将True变为False,False变为True。 |
if | 条件语句中的关键字,用于执行根据条件判断的不同代码块。 |
elif | 条件语句中的关键字,用于执行多个条件判断中的下一个条件。 |
else | 条件语句中的关键字,用于执行条件不满足时的备选代码块。 |
while | 循环语句中的关键字,用于创建循环,当条件为True时重复执行代码块。 |
for | 循环语句中的关键字,用于遍历可迭代对象的元素,如列表、元组等。 |
in | 用于循环语句中,用于检查某个元素是否存在于可迭代对象中。 |
break | 用于循环语句中,用于提前跳出循环,终止循环的执行。 |
continue | 用于循环语句中,用于跳过当前迭代并继续下一次迭代。 |
def | 用于定义函数的关键字,创建自定义函数供程序使用。 |
return | 用于函数中,表示函数的返回值,将值返回给调用函数的地方。 |
class | 用于定义类的关键字,用于创建面向对象编程中的类。 |
from | 用于导入模块中的特定函数、类或变量。 |
import | 用于导入整个模块或库,使其在代码中可用。 |
try | 用于异常处理,表示尝试执行一段可能引发异常的代码块。 |
except | 用于异常处理,定义在出现异常时要执行的代码块。 |
finally | 用于异常处理,表示无论是否发生异常都要执行的代码块。 |
raise | 用于引发异常,手动触发异常的发生。 |
pass | 空语句,用于占位,不执行任何操作,通常用于暂时留下空函数或条件块。 |
global | 用于声明全局变量,使得局部作用域内的变量可以访问和修改全局作用域的变量。 |
non-local | 用于声明嵌套函数中的外部(非全局)变量,允许修改外部作用域的变量。 |
assert | 用于断言条件是否为True,如果条件为False,引发AssertionError异常。 |
lambda | 用于创建匿名函数,通常用于简单的函数定义。 |
with | 用于创建上下文管理器,自动管理资源的分配和释放。 |
yield | 用于生成器函数中,暂停函数执行并返回一个值给调用者,可以继续执行后续代码。 |
yield from | 用于生成器函数中,用于委托生成器,将生成器的执行委托给另一个生成器。 |
as | 用于导入模块中的函数或变量并为其指定别名。 |
async | 用于定义异步函数或协程,通常与await 一起使用。 |
await | 用于暂停异步函数或协程的执行,等待异步操作完成。 |
获取所有Python关键字的列表
可以使用下面的代码获取所有关键字名称。
# 导入 "keyword" 模块用于关键字操作
import keyword
# 使用 "kwlist()" 打印所有关键字列表
print("关键字列表如下:")
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关键字
- True:该关键字用于表示布尔值 true。如果语句为真,则打印“True”。
- False:该关键字用于表示布尔值 false。如果语句为假,则打印“False”。
- None:这是一个特殊常量,用于表示空值或空值。重要的是要记住,0,任何空容器(例如空列表)都不会计算为 None。
它是其数据类型的对象——NoneType。无法创建多个 None 对象并将它们分配给变量。
例子:
print(False == 0) # 输出:True
print(True == 1) # 输出:True
print(True + True + True) # 输出:3
print(True + False + False) # 输出:1
print(None == 0) # 输出:False
print(None == []) # 输出:False
and、or、not、is 和 in 关键字
- and:这是 Python 中的逻辑运算符。“and”返回第一个假值。
- or:这是 Python 中的逻辑运算符。“or” 返回第一个 True 值。
- not:该逻辑运算符反转真值。“不”的真值表如下所示。
- in:该关键字用于检查容器是否包含值。该关键字还用于循环遍历容器。
- is:该关键字用于测试对象同一性,即检查两个对象是否占用相同的内存位置。
例子:
# 展示逻辑操作
# 或操作(返回 True)
print(True or False)
# 展示逻辑操作
# 与操作(返回 False)
print(False and True)
# 展示逻辑操作
# 非操作(返回 False)
print(not True)
# 使用 "in" 来检查
if 'j' in 'jkhxw':
print("j 是 jkhxw 的一部分")
else:
print("j 不是 jkhxw 的一部分")
# 使用 "in" 来循环遍历
for i in 'jkhxw':
print(i, end=" ")
print("\r")
# 使用 "is" 来检查对象身份
# 字符串是不可变的(一旦分配就不能更改)
# 因此占用相同的内存位置
print(' ' is ' ')
# 使用 "is" 来检查对象身份
# 字典是可变的(分配后可以更改)
# 因此占用不同的内存位置
print({} is {})
输出:
True
False
False
j 是 jkhxw 的一部分
j k h x w
True
False
For、while、break、continue 关键字
- for:该关键字用于控制流程和for循环。
- while:与“for”类似,用于控制流程和for循环。
- Break: “break”用于控制循环的流程。该语句用于跳出循环并将控制权传递给紧随循环之后的语句。
- continue: “continue”也用于控制代码流程。该关键字会跳过循环的当前迭代,但不会结束循环。
例子:
# 使用 for 循环
for i in range(10):
print(i, end=" ")
# 当看到 6 时中断循环
if i == 6:
break
print()
# 循环从1到10
i = 0
while i < 10:
# 如果 i 等于 6,
# 跳过下一次迭代
# 不打印当前值
if i == 6:
i += 1
continue
else:
# 否则打印 i 的值
print(i, end=" ")
i += 1
输出:
0 1 2 3 4 5 6
0 1 2 3 4 5 7 8 9
if、else 和 elif 关键字
- if:是决策的控制语句。真值表达式强制控制进入“if”语句块。
- else:这是一个用于决策的控制语句。错误表达式强制控制进入“else”语句块。
- elif:这是一个用于决策的控制语句。它是“ else if ”的缩写
例子:
#!/usr/bin/python
i = 20
if (i == 10):
print("i 是 10")
elif (i == 20):
print("i 是 20")
else:
print("i 不在其中")
输出:
i 是 20
def 关键字
def 关键字用于声明用户定义的函数。
例子:
# def keyword
def fun():
print("Inside Function")
fun()
输出:
Inside Function
Return 和 Yield 关键字
- return :该关键字用于从函数返回。
- Yield :该关键字的使用方式与 return 语句类似,但用于返回生成器。
例子:
# Return keyword
def fun():
S = 0
for i in range(10):
S += i
return S
print(fun())
# Yield Keyword
def fun():
S = 0
for i in range(10):
S += i
yield S
for i in fun():
print(i)
输出:
45
0
1
3
6
10
15
21
28
36
45
class关键字
class关键字用于声明用户定义的类。
# Python3程序演示
# 实例化一个类
class Dog:
# 一个简单的类
# 属性
attr1 = "哺乳动物"
attr2 = "狗"
# 一个示例方法
def fun(self):
print("我是", self.attr1)
print("我是一只", self.attr2)
# 主程序
# 实例化对象
Rodger = Dog()
# 通过对象访问类的属性
# 和方法
print(Rodger.attr1)
Rodger.fun()
输出:
哺乳动物
我是哺乳动物
我是一只狗
with关键字
with关键字用于将代码块的执行包装在上下文管理器定义的方法中。该关键字在日常编程中使用不多。
# using with statement
with open('file_path', 'w') as file:
file.write('hello world !')
as关键字
as关键字用于为导入的模块创建别名。即为导入的模块指定一个新名称。例如,将 math 导入为 mymath。
import math as newname
print(newname.factorial(5))
输出:
120
输出5的阶乘的结果,即120。
pass关键字
pass是python中的null语句,不执行任何操作。这用于防止缩进错误并用作占位符。
例子:
n = 10
for i in range(n):
# pass can be used as placeholder
# when code is to added later
pass
Lambda 关键字
Lambda关键字用于创建内联返回函数,内部不允许使用任何语句。
# Lambda keyword
g = lambda x: x*x*x
print(g(7))
输出:
343
这段代码将打印 7
的立方值,即 343
。
import, from关键字
- import:该语句用于将特定模块包含到当前程序中。
- from :通常与 import 一起使用,from 用于从导入的模块中导入特定功能。
例子:
# import keyword
from math import factorial
import math
print(math.factorial(10))
# from keyword
print(factorial(10))
输出:
3628800
3628800
try、 except、 raise、finally 和assert关键字
- try :该关键字用于异常处理,用于捕获代码中使用关键字 except 的错误。检查“try”块中的代码,如果有任何类型的错误,则执行 except 块。
- except :如上所述,它与“try”一起使用来捕获异常。
- finally :无论“try”块的结果是什么,总是执行名为“finally”的块。
- raise:我们可以使用 raise 关键字显式引发异常
- assert:该函数用于调试目的。通常用于检查代码的正确性。如果一个语句被评估为 true,则不会发生任何事情,但是当它为 false 时,则会引发“ AssertionError ”。还可以打印一条包含错误的消息,以逗号分隔。
例子:
# 初始化数字
a = 4
b = 0
# 在 try 块中没有引发异常
try:
k = a // b # 引发除以零异常。
print(k)
# 处理 zerodivision 异常
except ZeroDivisionError:
print("不能除以零")
finally:
# 无论是否引发异常,此块始终执行。
print('这始终会被执行')
# 使用 assert 关键字来检查是否为 0
print("a / b 的值是:")
assert b != 0, "除以 0 错误"
print(a / b)
# 使用 raise 关键字
# 如果字符串不相等,则引发自定义异常
temp = "hkhxw python study"
if temp != "jkhxw":
raise TypeError("两个字符串不相同。")
输出:
无法除以零
这总是执行
a / b 的值为:
AssertionError: 除以 0 错误
类型错误:两个字符串不不相同。
del 关键字
del 用于删除对对象的引用。任何变量或列表值都可以使用 del 删除。
例子:
my_variable1 = 20
my_variable2 = "jkhxw"
# check if my_variable1 and my_variable2 exists
print(my_variable1)
print(my_variable2)
# delete both the variables
del my_variable1
del my_variable2
# check if my_variable1 and my_variable2 exists
print(my_variable1)
print(my_variable2)
20
jkhxw
NameError:name 'my_variable1' is not defined
global, non-local关键字
- global:该关键字用于将函数内的变量定义为全局范围。
- non-local :此关键字的工作方式与 global 类似,但与全局不同,用于声明嵌套函数中的外部(非全局)变量,允许修改外部作用域的变量。
例子:
# 全局变量
a = 15
b = 10
# 执行加法的函数
def add():
c = a + b
print(c)
# 调用函数
add()
# 使用 nonlocal 关键字
def fun():
var1 = 10
def gun():
# 明确告诉 Python 它必须访问
# 在第 2 行 fun 函数中初始化的 var1
# 使用关键字 nonlocal
nonlocal var1
var1 = var1 + 10
print(var1)
gun()
fun()
输出:
25
20