首页 > 解决方案 > 类中的 python 函数与 java/c++ 中的函数有何不同?

问题描述

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

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

现在来到python:这里的函数被视为对象。这意味着函数单独存储在堆中,而不是线程/进程的代码部分。并且该类的每个对象都将拥有自己的函数副本以及实例变量。

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

标签: pythonfunctionclassmemoryheap-memory

解决方案


推荐阅读