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 中引入的一些新功能和改进的详细讲解及用例说明。