编译后的python代码可以被称为动态类型了吗?



网上有很多关于如何使用cython, cx_freeze等编译python代码的方法。但是编译后的代码可以作为动态类型语言吗?

如果您想让单词足够弯曲,所有动态类型语言都具有"任意"类型的值,从这个角度来看,即使未编译的Python也是"静态类型"的。然而,这并不是一个非常有用的视图。

但是,这取决于编译是如何完成的。如果编译后的代码只是使用PyObject类型,那么它肯定仍然是动态类型的。

如果编译器进行类型推断并将一些值静态地类型化为更严格的类型,那么它仍然是动态类型的(但是有一些窄类型的位)。

只有当所有(或至少基本上所有)值都被静态类型化为更窄的类型时,我们才能认为结果是静态类型化的。

相关内容

最新更新