Jetbrains PyCharm
PyCharm 的调试器现在使用添加到 Python 3.12 中的低影响监测。 这会提高调试器的整体性能。 您可以看到功能的显著改进,例如跟踪引发的异常以及在失败的测试中切换到调试器。 现在,这些步骤的执行速度明显快于基于 sys.settrace()-based 的旧方式。
Python 3.12 允许您在 f-string 内使用引号、换行符、转义序列和注释。
PyCharm 2023.3 相应地调整了其检查。 此外,字符串文字的现有意图操作,例如在不同引号类型之间的转换,现在按照新语法运作。
充分利用新的 f-string 功能,获得 PyCharm 代码洞察的所有优势。
Python 3.12 为泛型类、函数和类型别名引入了一种新的便捷语法。
使用 Python 处理类型时,此语法可让您编写更少的代码。
PyCharm 可以识别新语法并理解对类、函数和新型类型别名声明中类型形参的引用,并在类型推断和类型检查中将其纳入考量。
您可以使用新语法处理泛型类和类型别名,并让 IDE 处理细节。
PEP 646 引入了一种新的类型变量 TypeVarTuple,用于定义自定义可变参数泛型类型,即可以具有任意数量类型形参的泛型类型,类似于内置 Tuple 和 Callable。 未来,随着社区采用,这项功能将为 Numpy 的 ndarray 和 Tensor 等多维容器带来更精确的类型提示。
PyCharm 的类型检查程序支持其对可变参数泛型的所有标准检查。 此外,如果您在旧版本的 Python 中用 TypeVar 语法,您将收到警告。 PyCharm 将建议您改用 typing_extensions.Unpack。
PEP 647 引入了将自定义函数视为“类型防护”的方法,在条件语句中使用时,会导致其实参类型缩小。 例如,PyCharm 已经可以识别内置函数 isinstance 和 issubclass。 现在,返回 typing.TypeGuard 的用户定义函数对PyCharm 中的类型推断具有相同的效果。
PyCharm 2023.3 现在可以感知代码中的 LiteralString 类型。 使用时,PyCharm 将确保 str 和 LiteralString 类型不混合。