Python关键字

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