PEP 758:允许 ``except`` 和 ``except*`` 表达式不带括号

PEP 758:允许 ``except`` 和 ``except*`` 表达式不带括号

💡 原文英文,约900词,阅读约需4分钟。
📝

内容提要

PEP 758提议在Python异常处理语法中允许except和except*表达式不带括号。此更改简化语法,提高可读性,与其他可选括号语法一致,不影响现有代码兼容性。

🎯

关键要点

  • PEP 758提议在Python异常处理语法中允许except和except*表达式不带括号。

  • 当前的语法要求在捕获多个异常时使用括号,这是Python 2的遗留问题。

  • 允许省略括号可以简化语法,提高可读性,并与其他可选括号的语法保持一致。

  • 新语法将允许不带括号的异常类型列表,保持现有的异常处理语义不变。

  • 此更改完全向后兼容,现有的使用括号的代码将继续正常工作。

  • 没有已知的安全隐患,此更改仅为语法上的调整。

  • 对于新用户,可以将不带括号的语法作为捕获多个异常的标准方式进行教学。

  • 提供了一个概念验证实现,确保新语法与括号版本的行为一致。

  • 拒绝了允许混合使用括号和不带括号的语法,以避免混淆。

延伸问答

PEP 758的主要内容是什么?

PEP 758提议在Python异常处理语法中允许except和except*表达式不带括号,简化语法并提高可读性。

为什么要允许except表达式不带括号?

允许不带括号可以简化语法,减少视觉杂乱,并与其他可选括号的语法保持一致。

PEP 758对现有代码有影响吗?

此更改完全向后兼容,现有使用括号的代码将继续正常工作,不会受到影响。

PEP 758是否存在安全隐患?

没有已知的安全隐患,此更改仅为语法上的调整,语义保持不变。

如何向新用户教授不带括号的except语法?

可以将不带括号的语法作为捕获多个异常的标准方式进行教学,强调其与括号版本的等效性。

PEP 758的实现是否有概念验证?

提供了一个概念验证实现,确保新语法与括号版本的行为一致。

➡️

继续阅读