gpt4 book ai didi

python - 为什么不能在 python 3 中导入 python 2 模块?

转载 作者:太空狗 更新时间:2023-10-30 01:34:20 26 4
gpt4 key购买 nike

是否有任何理论上的原因可以阻止这种情况发生?据我所知,python 模块可以用 C 编写吗?在 python 3 中不能调用 python 2 编写的函数是什么原因?

最佳答案

在某些情况下,如果代码是用纯 Python 编写的,并且可以与 Python 2 和 Python 3 兼容。

在很多情况下你不能,因为它们是不同的语言,所以为一种语言编写的代码不一定是另一种语言的有效代码。

Python 是解释型的,而不是编译型的,因此无论何时使用该模块,都必须运行实际的源代码。没有任何东西对应于 Java 的编译形式。如果您的 Python 模块的源代码不能与新的 Python 一起工作,那么您的模块将无法工作。

(Python 有一种字节码编译形式,但与 Java VM 不同,它不是一个稳定的指定目标,因此字节码解释器可能会像语言一样从一个版本的 Python 更改为另一个版本。参见 this question在程序员 StackExchange 上。)

我不明白 C 模块的问题在这里是如何关联的。即使对于不同版本的 Python 2,用 C 编写的 Python 模块也必须重新编译。

关于python - 为什么不能在 python 3 中导入 python 2 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20864949/

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