gpt4 book ai didi

python - 我对 Python 的编写/实现方式的理解是否正确?

转载 作者:太空狗 更新时间:2023-10-30 00:42:43 25 4
gpt4 key购买 nike

我想了解 Python 在基础层面上是如何工作的,这有望帮助我更多地了解其他编译/解释语言的内部工作原理。不幸的是,编译器类现在有点远了。从我在这个网站和其他地方读到的内容来看,人们回答 "What base language is Python written in"似乎传达了谈论语言的“规则”与语言规则如何实现以供使用之间的区别。那么,说 Python(和其他高级语言)本质上只是用任何自然语言“编写”的规则集是否正确?然后它们的实际使用方式(使用意味着编译/解释以实际创建事物)的问题可能会有所不同,使用各种语言来实现编译器?所以在这种情况下,CPython、IronPython 和 Jython 在句法上是相同的语言,它们都遵循相同的规则集,只是这些规则是在各自的语言中实现的。

请让我知道我对此的理解是否正确,如果您有任何补充可以进一步巩固我的理解,或者我是否明显错误。

最佳答案

用 Python 编写的代码应该能够在任何 Python 解释器上运行。 Python 本质上是具有引用实现 (CPython) 的编程语言的规范。每当 Python 规范和 PEP 含糊不清时,其他解释器通常会选择实现相同的行为,除非他们有理由不这样做。

话虽这么说,用 Python 编写的程序完全有可能在不同的实现上表现不同。这是因为许多程序员冒险进入“未定义的行为”。例如,CPython 有一个“全局解释器锁”,这意味着一次只有一个线程实际执行(模数某些条件),但其他解释器没有这种行为。因此,例如,与其他解释器有关原子性的行为不同(例如,每个字节码指令在 CPython 中都是原子的)。

您可以将其视为 C。C 是一种语言规范,但有许多编译器实现它:GCC、LLVM、Borland、MSVC++、ICC 等。有编程语言和这些编程语言的实现。

关于python - 我对 Python 的编写/实现方式的理解是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48293374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com