Python 3.8 必须掌握的 35 个关键词详解

方予
方予
发布时间:2026-10-12 | 2人浏览过
原创

本文详细介绍 Python 3.8 中的 35 个关键词,涵盖 True、False、None 等布尔值处理,and/or/not 短路运算机制,以及 break、continue 和循环中 else 子句的高级用法。通过 help() 函数和 keyword 模块查询关键词,并结合代码示例解析条件判断与循环控制逻辑,帮助开发者规范命名并提升代码可读性。

每种编程语言都包含一组具有特殊含义的保留字,即关键词。在编写代码时,首要原则是避免将变量、函数或类名与这些关键词重名。需要明确的是,关键词与内置函数或内置类型不同:虽然建议尽量避免与内置函数或类型重名,但 Python 允许这样做(即通过重定义覆盖内置对象);然而,关键词是严格保留的,绝对不允许用作标识符。

在 Python 3.8 版本中,系统共提供了 35 个关键词。

False await else import pass None break except in raise True class finally is return and continue for lambda try as def from nonlocal while assert del global not with async elif if or yield

若希望在交互模式下查看这些关键词,可以调用 help() 函数。

>>> help("keywords")

Here is a list of the Python keywords. Enter any keyword to get more help.

False   await    else    import    pass
None   break    except   in      raise
True   class    finally   is      return
and    continue   for     lambda    try
as    def     from    nonlocal   while
assert  del     global   not      with
async   elif     if     or      yield

针对每一个关键词的具体含义和用法,同样可以通过 help() 函数进行详细查阅。

>>> help('pass')  # 敲回车后出现下面的内容

The "pass" statement
********************

  pass_stmt ::= "pass"

"pass" is a null operation — when it is executed, nothing happens. It
is useful as a placeholder when a statement is required syntactically,
but no code needs to be executed, for example:

  def f(arg): pass  # a function that does nothing (yet)

  class C: pass    # a class with no methods (yet)

除了上述交互方式外,Python 标准库中还提供了一个名为 keyword 的模块,专门用于查询和管理关键词列表。

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', ...
>>> len(keyword.kwlist)
35

了解了关键词有哪些之后,关键在于掌握它们的具体使用场景和应用方式。下文将通过具体代码示例,对部分核心关键词进行详细说明。

True、False 和 None

True 和 False 是布尔类型(bool)的两个特定值,使用时必须严格保持首字母大写。

>>> x = True
>>> x is True
True

>>> y = False
>>> y is False
True

若需判断某个对象的布尔真值(truth value)是 True 还是 False,可以使用 bool() 函数进行转换和判断,例如:

>>> x = "this is a truthy value"
>>> x is True
False
>>> bool(x) is True
True

>>> y = "" # 这个是假
>>> y is False
False
>>> bool(y) is False
True

需要注意的是,当向 bool() 函数传入 0、空字符串 ""、空字典 {} 或空列表 [] 等任一对象时,其返回值均为 False。

在编写条件语句时,虽然逻辑上是判断条件是否为 True,但通常无需显式地与 True 或 False 进行比较。Python 解析器会自动处理条件的真值判断,直接书写条件表达式即可。

>>> x = "this is a truthy value"
>>> if x is True: # 不要这么做
...   print("x is True")
...
>>> if x: # 应该如此写
...   print("x is truthy")
...
x is truthy

None 是一个特殊的关键词,在 Python 中表示“无值”或“空值”。在其他编程语言中,类似概念可能使用 null、nil、none、undef 或 undefined 等表示。此外,None 也是函数中未显式包含 return 语句时的默认返回值。

>>> def func():
...   print("hello")
...
>>> x = func()
hello
>>> print(x)
None>>> def func():
...   print("hello")
...
>>> x = func()
hello
>>> print(x)
None

and、or、not、in、is

上述几个关键词在语义上对应数学中的逻辑操作符,具体对应关系如下表所示。

数据符合 关键词
AND, ∧ and
OR, ∨ or
NOT, ¬ not
CONTAINS, ∈ in
IDENTITY is

Python 代码以高可读性著称,通过直观的关键词即可清晰理解代码所执行的逻辑操作。

这些关键词相对直观,但需特别注意 Python 中著名的“短路运算”机制。以 and 为例:

<expr1> and <expr2> 请勿将上述表达式简单理解为“当两边都为真时返回 True”。关于短路运算的详细机制,可参考《Python大学实用教程》一书中的深入解析。同理,or 运算符也存在类似的短路运算行为。

break、continue 和 else 这三个关键词常用于控制循环语句的执行流程。

break 的作用是立即终止当前所在的循环。其基本使用格式如下:

for <element> in <container>:
  if <expr>:
    break
举个例子:

>>> nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> sum = 0
>>> for num in nums:
...   sum += num
...   if sum > 10:
...     break
...
>>> sum
15

continue 的作用是跳过当前循环体中剩余的语句,直接进入下一次循环迭代。

for <element> in <container>: if <expr>: continue

else 子句不仅存在于条件语句中,在循环语句中也有特定用途。当循环正常结束(即未被 break 终止)时,else 子句下的代码块将执行。

在 for 循环中使用 else 的格式如下:

for <element> in <container>: <statements> else: <statements>

在 while 循环中使用 else 的格式如下:

while <expr>: <statements> else: <statements>

例如,有时我们需要在循环中使用一个标志变量(flag)来记录状态:

>>> for n in range(2, 10):
...   prime = True
...   for x in range(2, n):
...     if n % x == 0:
...       prime = False
...       print(f"{n} is not prime")
...       break
...   if prime:
...     print(f"{n} is prime!")
...
2 is prime!
3 is prime!
4 is not prime
5 is prime!
6 is not prime
7 is prime!
8 is not prime
9 is not prime

在上述代码逻辑中,prime 作为一个标志变量,若循环正常执行完毕,其值为 True;若在循环中被 break 退出,则值为 False。在第 8 行判断该变量值,若为 True 则打印相应内容。

对于上述逻辑,若改用 else 子句改写,代码结构将更加简洁,且可读性更强。

>>> for n in range(2, 10):
...   for x in range(2, n):
...     if n % x == 0:
...       print(f"{n} is not prime")
...       break
...   else:
...     print(f"{n} is prime!")
...
2 is prime!
3 is prime!
4 is not prime
5 is prime!
6 is not prime
7 is prime!
8 is not prime
9 is not prime

以上就是对 Python 中 35 个关键词的详细解析,更多 Python 关键词相关资料请关注本站其他技术文章。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表