【发布时间】:2018-10-04 04:41:36
【问题描述】:
在 Java 中,我们只将静态方法的一份副本存储到内存中,我们可以一遍又一遍地调用它。这是为了性能和节省空间。
以前,有人在工作中声称 Python 中的静态函数与 Java 中的工作方式不同,is this correct?
也有人声称,每次我们在调用 Python 的静态方法时,Python Interpreter 仍然需要花时间先实例化一个对象。 Is this correct?
class A(object):
@staticmethod
def static_1():
print 'i am static'
【问题讨论】:
-
不应比常规方法慢。
-
@staticmethod是一个装饰器,意味着方法被包装了。额外的函数调用(如果有的话)可能会有一些开销,尽管可能并不重要(取决于您对重要的定义)。
标签: java python static-methods python-internals