类中的python函数与java/c++;?

类中的python函数与java/c++;?,python,function,class,memory,heap,Python,Function,Class,Memory,Heap,我的问题是关于如何在内存中存储或执行函数 以下是我对C++/Java的理解(如果我错了,请纠正我): 当程序在内存中时,类定义和其中的函数只是存储在进程/线程代码部分的指令。当类被实例化时,只有成员变量(非静态)将在堆中单独分配内存。 i、 类的每个对象将只有实例变量,而没有函数指令。当一个类函数通过多个对象执行时,它通过存储该函数的相同位置(即代码段)执行 现在来看python: 在这里,函数被视为对象。这意味着函数分别存储在堆中,而不是线程/进程的代码部分。类的每个对象都有自己的函数副本和实

我的问题是关于如何在内存中存储或执行函数

以下是我对C++/Java的理解(如果我错了,请纠正我): 当程序在内存中时,类定义和其中的函数只是存储在进程/线程代码部分的指令。当类被实例化时,只有成员变量(非静态)将在堆中单独分配内存。 i、 类的每个对象将只有实例变量,而没有函数指令。当一个类函数通过多个对象执行时,它通过存储该函数的相同位置(即代码段)执行

现在来看python:
在这里,函数被视为对象。这意味着函数分别存储在堆中,而不是线程/进程的代码部分。类的每个对象都有自己的函数副本和实例变量


我的理解正确吗?如果它是正确的,那么在每个对象中存储函数有什么用?

请参见以下答案:它解释了为什么函数是堆中的对象:谢谢。此线程解释如何存储函数。但这似乎并不能解释它背后的原因。我似乎不明白每个对象都需要存储相同的指令。这难道不会降低python的效率吗?“类的每个对象都有自己的函数副本和实例变量。”-什么?不。这个结论不是从前提得出的。看这个答案:它解释了为什么函数是堆中的对象:谢谢。此线程解释如何存储函数。但这似乎并不能解释它背后的原因。我似乎不明白每个对象都需要存储相同的指令。这难道不会降低python的效率吗?“类的每个对象都有自己的函数副本和实例变量。”-什么?不,这个结论不是根据前提得出的。