Я хочу сделать что-то вроде следующего
class A: def static_method_A(): print "hello" def main(param=A): param.static_method_A()
Я хочу, чтобы это было эквивалентно A.static_method(). Возможно ли это?
A.static_method()
Конечно. Классы являются первоклассными объектами в Python.
Хотя в вашем примере вы должны использовать @classmethod (объект класса в качестве начального аргумента) или @staticmethod (без начального аргумента) для вашего метода.
@classmethod
@staticmethod
Вы должны быть в состоянии сделать следующее (обратите внимание на @staticmethod декоратор):
class A: @staticmethod def static_method_A(): print "hello" def main(param=A): param.static_method_A()
Конечно, почему нет? Не забудьте добавить @staticmethod к статическим методам.