【问题标题】:Python-Function object creationPython-函数对象创建
【发布时间】:2017-07-28 06:08:05
【问题描述】:

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

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

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

寻找详细答案。

【问题讨论】:

  • 1) 当你定义函数时 2) 如果你定义了一个你从不打算调用的函数?是的,我会说这是一种浪费。虽然,即使在普通硬件上,也可能非常小。

标签: python python-3.x function object


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

  2. 是的,这是对内存的“浪费”,但请考虑与大数组、二进制文件等相比需要多少内存。Python 绝对不是性能最高或资源最轻的语言/解释器,但它可以为您节省很多编写代码的时间(因为你写的少)和关心优化(你通常不这样做)。我的意思是说,现在几 KB 的文件大小有什么关系?当然,价值损失不到您一分钟的注意力。

    那些未使用的函数不能被优化掉的原因是它们以后可能会在同一个脚本或其他脚本中使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    • 2013-06-23
    • 2013-02-11
    • 1970-01-01
    • 2014-01-14
    • 2021-03-16
    • 2012-04-07
    相关资源
    最近更新 更多