Python 3.8 新功能全解

  • Post category:Python

Python 3.8 新功能全解

Python 3.8 是 Python 的最新版本,在这个版本中引入了一些新功能和改进。下面,我们将详细解释这些新功能,并提供一些用例说明。

表达式中的赋值操作

Python 3.8 中,你可以在表达式中使用赋值语句。

例如:

while (command := input("> ")) != "quit":
    print(command)

这将在用户输入 “quit” 前接收用户的输入。

位置参数仅限于位于 *args 后面

在 Python 3.8 中,定义函数时如果有 args 和 kwargs 参数,则不能同时将位置参数放在 args 后。

例如:

def example(name, *args, last):
    print(name, args, last)

将在调用函数时产生一个语法错误。

f-字符串中运行代码

在 Python 3.8 中,你现在可以在 f-字符串中运行代码。这使得 f-字符串的用途更加广泛,也更加灵活。

例如:

value = 42
f"value is {value}, value * 2 is {value * 2}"

将会输出:

'value is 42, value * 2 is 84'

更具可读性的示例输出

Python 3.8 对于内置模块的例子输出进行了更改,以获得更好的可读性。例如,以下是 heapq 模块的示例输出:

>>> import heapq
>>> from heapq_showtree import show_tree
>>> heap = [19, 2, 33, 1, 15, 7, 27, 11]
>>> show_tree(heap)
                 __1__
                /     \
        ______2       7
       /      / \     / \
     11     15  19  27  33

识别 UTF-8 文件的 BOM

Python 3.8 识别以 BOM 为 UTF-8 编码的文件,并自动将其解码。

例如:

with open("utf8-bom.txt", encoding="utf-8") as f:
    print(f.read())

将会正常工作。

以上就是 Python 3.8 中引入的一些新功能和改进的详细讲解及用例说明。