每种脚本语言都有专门的单词或关键字,具有特定的定义和使用指南。Python也不例外。任何Python程序的基本组成元素都是Python关键字。

本教程将为您提供所有Python关键字的基本概述,并详细讨论一些常用的重要关键字。

介绍Python关键字

Python关键字是具有定义好的含义和功能的独特单词,我们只能将其应用于这些功能。您永远不需要将任何关键字导入到您的程序中,因为它们是永久存在的。

Python的内置方法和类与关键字不同。内置的方法和类始终存在;但是,它们在应用上不像关键字那样受限。

为Python关键字分配特定的含义意味着您不能在代码中将它们用于其他目的。如果尝试这样做,您将收到SyntaxError消息。如果尝试为内置方法或类型分配任何内容,您将不会收到SyntaxError消息;然而,这仍然不是一个好主意。

Python在最新版本中,即Python 3.8中,包含了35个关键字。下面我们列出了完整的Python关键字列表供读者参考。

Falseawaitelseimportpass
Nonebreakexceptinraise
Trueclassfinallyisreturn
andcontinueforlambdatry
asdeffromnonlocalwhile
assertdelglobalnotwith
asyncelififoryield

在不同版本的Python中,上述关键字可能会发生变化。一些可能会被引入,而另一些可能会被删除。通过将以下语句写入代码窗口,您可以随时检索您正在使用的版本中的关键字集合。

代码

# Python program to demonstrate the application of iskeyword() 
# importing keyword library which has lists 
import keyword 

# displaying the complete list using "kwlist()." 
print("The set of keywords in this version is: ") 
print(keyword.kwlist)

输出:

The set of keywords in this version is : 
['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']

通过调用help(),您可以检索当前提供的关键字列表:

代码

help("keywords")

如何识别Python关键字

随着新版本的引入,Python的关键字集合也在不断发展。例如,await和async关键字直到Python 3.7才被引入。另外,在Python 2.7中,print和exec这些单词曾经是关键字;但是在Python 3+中,它们被改成了内置方法,不再是关键字的一部分。在下面的段落中,您将了解多种方法,用于确定Python中的特定单词是否是关键字。

在语法高亮的IDE中编写代码

有许多优秀的Python集成开发环境(IDE)可供选择。它们都会将关键字与代码中的其他词汇区分开来进行高亮显示。这可以在编码过程中帮助您立即识别Python关键字,以避免错误使用它们。

在REPL中使用脚本验证关键字

在Python REPL中,有多种方法可以检测可接受的Python关键字,并进一步了解它们。

查找SyntaxError

最后,如果尝试将其分配给变量、为其命名方法或以其他方式使用时,如果出现SyntaxError并且不被允许,那么它可能是一个关键字。这种方法可能相对难以观察,但这仍然是Python告诉您是否错误使用关键字的一种方式。

Python关键字及其用法

以下各节将Python关键字根据其使用频率分为不同的类别。例如,第一个类别包括所有用作值的关键字,而下一个类别包括用作运算符的关键字。这些分类将有助于理解关键字的使用方式,并帮助您整理庞大的Python关键字集合。

  • 下面段落中提到的一些术语可能对您来说是陌生的。在继续之前,我将对它们进行解释,您必须了解它们的含义:
  • 对变量的布尔评估称为真实性。变量的真实性显示变量的值是True还是False。

在布尔范式中,真(true)指的是任何计算为真的变量。将一个项目作为输入传递给bool(),以查看它是否为真。如果返回True,则该项目的值为真。不为空的字符串和列表,非零的数字以及许多其他对象都是真值的示例。

假(false)指的是在布尔表达式中返回false的任何项目。将一个项目作为输入传递给bool(),以查看它是否为假。如果返回False,则该项目的值为假。假值的示例包括" "、0、{}和[]。

值关键字: True, False, None

在此示例中,有三个Python关键字用作值。这些是单一的值,我们可以无限制地重复使用,并且每次都对应于相同的实体。这些值很可能会经常出现和使用。

关键字True和False

这些关键字在传统的计算机语言中以小写形式输入(true和false);但是,在Python中,它们总是以大写形式输入。在Python脚本中,True关键字表示布尔值的真实状态。False是一个与True等效的关键字,但它具有否定的布尔状态,即false。

True和False是可以分配给变量或参数并进行直接比较的关键字。

代码

print(4 == 4)
print(6 > 9)
print(True or False)
print(9 <= 28)
print(6 > 9)
print(True and False)

输出:

True
False
True
True
False
False

由于第一个、第三和第四个语句为真,解释器会为这些语句返回True,其他语句返回False。在Python中,True和False相当于1和0。我们可以使用以下示例来支持这一说法:

代码

print(True == 3)
print(False == 0)
print(True + True + True)

输出:

False
True
3

关键字None

None是一个Python关键字,表示"没有东西"。在其他计算机语言中,None也被称为nil、null或undefined。

如果一个函数没有返回子句,它会默认返回None:

代码

print(None == 0)
print(None == " ")
print(None == False)
A = None
B = None
print(A == B)

输出:

False
False
False
True

如果一个没有返回语句的no_return_function函数返回了Nothing,它将只返回一个None值。在程序流中没有满足返回表达式的函数将返回None值。考虑以下情况:

代码

def no_return_function():
    num1 = 10
    num2 = 20
    addition = num1 + num2

number = no_return_function()
print(number)

输出:

None

此程序有一个with_return函数,执行多个操作并包含一个返回表达式。因此,如果我们显示一个number,我们得到None,这是在没有返回语句时的默认值。下面是一个显示这一点的示例:

代码

def with_return(num):
    if num % 4 == 0:
        return False

number = with_return(67)
print(number)

输出:

None

运算符关键字: and, or, not, in, is

Python中有多个关键字用作运算符来执行数学运算。在许多其他计算机语言中,这些运算符由字符表示,例如&、|和!。在Python中,所有这些都是关键字运算:

数学运算其他语言中的运算Python关键字
AND, ∧&&and
OR, ∨\\ or
NOT, ¬!not
CONTAINS, ∈ in
IDENTITY===is

Python编程的设计理念是清晰明了。因此,许多在其他计算机语言中使用字符的操作符在Python中是英文单词,即关键字。

关键字and

关键字and用于确定左侧和右侧操作数and的真值或假值。如果两个操作数都为真,则结果为True。如果其中一个为假,则结果也为False。

and的真值表
XYX and Y
TrueTrueTrue
FalseTrueFalse
TrueFalseFalse
FalseFalseFalse
<component1> and <component2> 

值得注意的是,and语句的结果并不总是True或False。这是因为and的特殊行为。它不是将输入处理为相应的布尔值,而是仅在第一个操作数为假时返回<操作数1>,或者在第一个操作数为真时返回<操作数2>。and表达式的输出可以与条件if子句一起使用,或者提供给bool()以获得明确的True或False答案。

关键字or

Python中的or关键字用于检查至少一个输入是否为真。如果第一个参数为真,则or操作将返回它;否则,将返回第二个参数。

<component1> or <component2>  

与and关键字类似,or关键字也不会将其输入转换为相应的布尔值。而是根据它们是真还是假来确定输出。

or的真值表
XYX or Y
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

关键字not

Python中的not关键字用于获取变量的相反布尔值:

not关键字用于在条件语句或其他布尔表达式中切换布尔解释或结果。与and、or一样,not确定具体的布尔状态,True或False,然后返回相反值。

not的真值表
Xnot X
TrueFalse
FalseTrue

代码

False and True
False or True
not True

输出:

False
True
False

关键字in

Python中的in关键字是一个强大的限制检查器,也称为成员运算符。如果向其提供要查找的元素和要查找的容器或序列,它将根据是否在给定容器中找到该给定元素来返回True或False:

  1. <一个元素> in <一个容器>

测试字符串中是否存在某个特定字符是使用in关键字的很好示例:

代码

container = "Javatpoint"
print("p" in container)
print("P" in container)

输出:

True
False

与列表、字典、元组、字符串或任何具有方法__contains__()的数据类型一起使用in关键字都可以。

关键字is

在Python中,is关键字用于检查对象的标识。使用==操作符可以确定两个参数是否相等。它还确定两个参数是否关联到同一个对象。

当对象相同时,它返回True;否则,返回False。

代码

print(True is True)
print(False is True)
print(None is not None)
print((9 + 5) is (7 * 2))

输出:

True
False
False
True

在Python中,True、False和None都是相同的,因为只有一个版本。

代码

print([] == [])
print([] is [])
print({} == {})
print({} is {})

输出:

True
False
True
False

空字典或列表与另一个空字典或列表相同。但是,它们不是相同的实体,因为它们在内存中是独立存储的。这是因为列表和字典都是可变的。

代码

print('' == '')
print('' is '')

输出:

True
True

与列表和字典不同,字符串和元组是不可变的。因此,两个相等的字符串或元组也是相同的。它们都引用同一个内存区域。

非局部关键字: nonlocal

非局部关键字的使用与全局关键字的使用相似。非局部关键字nonlocal用于指示位于函数内部的函数,即嵌套函数中的变量不仅局部于其本身,还表示它位于外部函数中。如果我们需要在嵌套函数中更改其值,我们应该使用nonlocal来声明非局部参数。否则,嵌套函数将使用该名称创建一个局部变量。下面的示例将帮助我们澄清这一点。

代码

def the_outer_function():
    var = 10
    def the_inner_function():
        nonlocal var
        var = 14
        print("The value inside the inner function:", var)
    the_inner_function()
    print("The value inside the outer function:", var)

the_outer_function()

输出:

The value inside the inner function: 14
The value inside the outer function: 14

在这种情况下,the_inner_function()位于the_outer_function()中。

the_outer_function有一个名为var的变量。正如你可能已经注意到的,var不是全局变量。因此,如果我们希望在the_inner_function()内部更改它,我们应该使用nonlocal来声明它。

因此,在嵌套的the_inner_function中成功地更新了该变量,正如结果所示。下面是如果不使用nonlocal关键字会发生什么的情况:

代码

def the_outer_function():
    var = 10
    def the_inner_function():
        var = 14
        print("Value inside the inner function:", var)
    the_inner_function()
    print("Value inside the outer function:", var)

the_outer_function()

输出:

Value inside the inner function: 14
Value inside the outer function: 10

迭代关键字: for, while, break, continue

迭代过程和循环是基本的编程要点。为了生成和操作循环,Python具有多个关键字。这些关键字将在几乎每个Python程序中使用和观察。正确使用它们的能力可以帮助您成为更好的Python开发人员。

for关键字

for循环是Python中最常见的循环。它是通过结合两个Python关键字for和in创建的,如前所述。

while关键字

Python的while循环使用while关键字,并且与其他计算机语言的while循环类似。在while关键字之后的条件为false之前,将重复执行while关键字后面的代码块。

break关键字

如果您想要快速退出循环,请使用break关键字。我们可以在for循环和while循环中使用此关键字。

continue关键字

如果您希望跳到下一个循环迭代,请使用continue Python关键字。与许多其他计算机语言一样,这个关键字在Python中也有。

其他关键字: def, return, lambda, class, global, with, as, assert, del, pass, try, except, raise, finally, yield

关键字def

在Python中,使用关键字def定义函数。函数是可以复用的代码块,可以通过传递参数来调用它。

关键字return

返回关键字用于从函数中返回一个值。

关键字lambda

Python中的lambda关键字用于创建匿名函数,也称为lambda函数。它们是一种简短的方式来定义小型功能,通常只需要一行代码。

关键字class

Python中的关键字class用于创建类。类是一种面向对象编程的主要构建块。

关键字global

Python中的关键字global用于在函数内部引用全局变量。这允许您在函数中修改全局变量的值。

关键字with和as

with关键字在处理上下文管理器时很有用,它提供了一种干净的方式来管理资源,如文件、网络连接等。as关键字用于将上下文管理器的结果赋给一个变量。

关键字assert

assert关键字用于检查代码的断言是否为真。如果断言为假,则引发AssertionError。

关键字del

del关键字用于删除变量或从列表、字典中删除元素。

关键字pass

pass关键字表示什么都不做。它在代码块需要存在语法上的合法性,但不需要执行任何操作时使用。

关键字try、except、raise和finally

这些关键字用于异常处理。try用于包裹可能会引发异常的代码,except用于捕获和处理异常,raise用于手动引发异常,finally用于在不管异常是否引发时都会执行的代码块。

关键字yield

yield关键字用于生成器函数,它允许在函数执行过程中暂停并保留状态,以便稍后恢复。生成器函数可以迭代地生成值,而不需要一次性生成所有值。

以上就是Python中的一些重要关键字及其用法。掌握这些关键字对于理解和编写Python代码至关重要。在编程中,关键字是编程语言的基本构建块之一,因此深入了解它们将有助于您更好地使用Python来开发各种应用程序。

标签: Tkinter教程, Tkinter安装, Tkinter库, Tkinter入门, Tkinter学习, Tkinter入门教程, Tkinter, Tkinter进阶, Tkinter指南, Tkinter学习指南