Python 3.8 版本

最有趣的创新:

  • 赋值表达式:

    新的 := 运算符允许您为表达式内的变量赋值。 例如:
    如果 (n := len(a)) > 10:
    print(f"列表太长({n} 个元素,预计 <= 10)")

  • 仅位置参数:

    您现在可以指定哪些函数参数可以通过命名参数语法传递,哪些不能。 例子:
    def f(a, b, /, c, d, *, e, f):
    打印(a、b、c、d、e、f)

    f(10, 20, 30, d=40, e=50, f=60) # 好
    f(10, b=20, c=30, d=40, e=50, f=60) # 错误,`b` 不能是命名参数
    f(10, 20, 30, 40, 50, f=60) # 错误,`e` 必须是命名参数

    此更改为开发人员提供了一种保护 API 用户免受函数参数名称更改影响的方法。

  • 支持 f-strings = 用于自记录表达式和调试:

    添加糖来简化调试/记录消息。
    N = 42时
    print(f'你好世界{n=}。')
    # 将打印“Hello world n=42”。

  • 修复了finally块中的continue关键字(之前不起作用)。

其他:

  • 您可以显式指定字节码缓存的路径,而不是默认的 __pycache__。
  • 调试和发布版本使用相同的 ABI。

来源: linux.org.ru

添加评论