In Java, we only store one copy of the static method into memory, and we can call it over and over again. This is for performance and space saving.
Previously, someone had claimed in work that static function in Python does not work the same way as in Java, is this correct?
Someone also claimed that every time we are calling the Python static method, and Python Interpreter still need to spend the time to instantiate an object first. Is this correct?
class A(object): @staticmethod def static_1(): print 'i am static'
@staticmethodis a decorator, implying the method is wrapped. The extra function call (if there is one) might have some overhead, although perhaps not significant (depends on your definition of significant).