Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中,类型信息与对象而不是变量共存_Python_Variables_Memory Management_Types - Fatal编程技术网

在python中,类型信息与对象而不是变量共存

在python中,类型信息与对象而不是变量共存,python,variables,memory-management,types,Python,Variables,Memory Management,Types,我很想知道为什么类型信息被移动到python对象,而在变量名标记中不可用?据我所知,根据其他静态类型语言,类型声明通过告诉编译器变量在运行时需要多少内存来帮助初始化这些变量的内存。这有助于内存优化,也是我们声明变量的最大原因。然而,python是一种动态类型语言,所有变量都引用在运行时创建的对象,因此python编译器如何知道如何初始化这些变量引用的对象的内存。它是否在运行时处理内存管理?或者,为变量分配初始内存不是python的一项功能吗?python不是一种动态语言吗?大家好,谢谢回答,但我

我很想知道为什么类型信息被移动到python对象,而在变量名标记中不可用?据我所知,根据其他静态类型语言,类型声明通过告诉编译器变量在运行时需要多少内存来帮助初始化这些变量的内存。这有助于内存优化,也是我们声明变量的最大原因。然而,python是一种动态类型语言,所有变量都引用在运行时创建的对象,因此python编译器如何知道如何初始化这些变量引用的对象的内存。它是否在运行时处理内存管理?或者,为变量分配初始内存不是python的一项功能吗?

python不是一种动态语言吗?大家好,谢谢回答,但我想我已经解决了。由于python中确实没有类似于原语的东西,因此实际上没有任何东西存储在内存堆栈上,因此python中不需要类型标记。一切都发生在堆上,基本上是在运行时,就像在任何其他语言中一样。就CPython而言,每个对象都只是堆上某个地方的
struct PyObject