我想知道内部发生了什么,所以使用Python你不需要在将它赋给某个东西之前声明一个变量类型。 其他语言如C在分配阶段之前保留内存。
我只是想知道编译时会发生什么,以便Python可以跳过这一步?
答案 0 :(得分:1)
如果深入了解C级别,所有Python对象都是PyObject*
类型,并在堆上分配。变量只是绑定到这些对象的名称(通常实现为哈希映射条目)。
答案 1 :(得分:0)
好吧,我认为python不会跳过这一步,他所做的就是在变量中查找值,然后他应该知道它是什么类型的变量。像:
a = 5
b = 5.0
Python会看,a
里面有什么值,好吧它是5,所以让这个变量为整数!然后转到下一个变量。
答案 2 :(得分:0)
Python中的变量只是对象的引用。在对象实例化的那一刻,对象的内存在运行时分配。