当前位置: 首页 > 面试题库 >

为什么在Python 3中不再使用编译器包?

唐俊楚
2023-03-14
问题内容

当我看到Python的编译器软件包的文档时,我感到很惊讶,但是注意到它已经在Python
3.0中消失了,没有任何明确的替换或解释。

我似乎在python-dev上找不到有关如何做出此决定的任何讨论-有人对此决定有任何见识吗?


问题答案:

我相信该功能现已内置:

  • 编译
  • AST


 类似资料:
  • 问题内容: 我注意到在实施时有些奇怪。这就是在OpenJDK 7u40中的样子 : 这就是从OpenJDK 8u40开始的样子 : 我知道现在可以将null用作空映射,因此需要在局部变量中进​​行附加检查和缓存。但是为什么要用for循环代替? 似乎此提交中引入了更改。不幸的是,我找不到任何解释说明为什么普通的for循环会比更好。它更快吗?或更安全? 问题答案: 我将尝试总结评论中提出的三个更合理的

  • UE4 的底层虽然是用 C++ 实现的,但它又不仅仅是一个 C++ 库,它还实现了自己的编译机制。换句话说,UE4 对现有的 C++ 语法进行了改进,以适应游戏开发的场景。 当然,UE4 也不会疯狂到自己去开发一个 C++ 编译器,它还是需要依赖传统的 C++ 编译器以及相关的编程套件。 熟悉 Qt 的读者应该知道,Qt 虽然也使用 C++,但是它还提供了信号和槽的机制,这是原生 C++ 里面没有

  • 我们知道,JVM同时使用解释器和JIT编译器。JIT编译器将重复的字节码转换为机器码并存储在内存中。现在,当解释器逐行翻译字节码并运行它时,它将跳过已转换并存储在内存中的重复代码的翻译部分,但将直接运行它。从而减少了并发冗余翻译。 那么为什么Java在JVM中使用解释器呢?像JIT这样的编译器可以一次性完成将字节码转换为机器码的整个任务吗?

  • 问题内容: 我正在尝试使用泛型实现以下结构。收到编译器错误,无法找出原因。 这个想法是译者使用T作为字典中键的类型。例如,可以是字符串或枚举。子类提供具体的字典。 但是它失败,因为:“类型’String’不符合协议’Hashable’” 但是String符合Hashable。它也不适用于Int,后者也符合Hashable。 如果删除类型约束,则仅用于测试(在此我还必须禁用字典,因为我不能在其中使用

  • 我有一个简单的测试设置,如 但当我尝试编译测试时,我会遇到53个错误,比如 实际上并没有传达任何关于问题所在的有用信息。我只能假设在我的构建中没有正确配置某些内容。sbt文件或其他地方。 这段代码确实曾经工作过,在我清理东西的过程中,事情发生了变化,现在它被破坏了,没有好的诊断。 有人能提出要找的东西吗?

  • 问题内容: 如果你给 它没有编译,但是带有花括号的相同代码是: 有什么解释? 问题答案: 基本上,变量声明只能在块中声明。 查看 Java语言规范中“语句”的语法 -它包括Block,但不包括LocalVariableDeclarationStatement- 后者是block语法的一部分。 这实际上是实用主义的问题:如果没有括号,则只能使用一个语句。如果没有后续语句,则声明变量是没有意义的,因为