Python中的作业

时间:2014-02-01 18:28:18

标签: python c compilation

我想知道内部发生了什么,所以使用Python你不需要在将它赋给某个东西之前声明一个变量类型。 其他语言如C在分配阶段之前保留内存。

我只是想知道编译时会发生什么,以便Python可以跳过这一步?

3 个答案:

答案 0 :(得分:1)

如果深入了解C级别,所有Python对象都是PyObject*类型,并在堆上分配。变量只是绑定到这些对象的名称(通常实现为哈希映射条目)。

答案 1 :(得分:0)

好吧,我认为python不会跳过这一步,他所做的就是在变量中查找值,然后他应该知道它是什么类型的变量。像:

a = 5
b = 5.0

Python会看,a里面有什么值,好吧它是5,所以让这个变量为整数!然后转到下一个变量。

答案 2 :(得分:0)

Python中的变量只是对象的引用。在对象实例化的那一刻,对象的内存在运行时分配。