Python函数对象创建

时间:2017-07-28 06:08:06

标签: python python-3.x function object

正如我从一本书中所理解的那样,Python中的函数只不过是Function类的对象。我有一些疑问如下:

1.什么时候创建这个对象?在我们定义函数时或者在我们调用函数的时候?

2.如果它是在我们定义一个函数时创建的,那么如果我们不在程序中的任何地方调用该函数,那么它不会浪费内存吗?

寻找详细解答。

1 个答案:

答案 0 :(得分:1)

  1. 一旦定义了一个函数或方法(它只是一个绑定函数),Python就会创建一个Function实例。当您的代码第一次运行时会发生这种情况。

  2. 是的,它是内存的“浪费”,但要考虑与大数组,二进制文件等相比多少内存.Python绝对不是性能最好或资源最少的语言/解释器,但它节省了大量的时间来编写代码(因为你的写作更少)和关心优化(你通常不会)。我的意思是,现在文件大小的几KB有什么用呢?当然,价值的损失不到一分钟的注意力。

    这些未使用的函数无法优化的原因是它们可能会在稍后的同一脚本或其他脚本中使用。