Основное использование объектов кода - это отделение статических частей функций (кода) от динамических частей (функций).Объекты кода - это вещи, которые хранятся в файлах .pyc и создаются при компиляции кода;функциональные объекты создаются из них во время выполнения, когда функции объявлены.Они доступны для отражения отладчиком, и их не нужно использовать напрямую.
Все языки, которые поддерживают замыкания, имеют что-то похожее на них;они просто не всегда доступны языку, как в Python, который имеет более полное отражение, чем большинство языков.
Вы можете использовать объекты кода для создания экземпляров объектов функций через types.FunctionType
, но это очень редко имеетлюбое практическое использование - другими словами, не делайте этого:
def func(a=1):
print a
func2 = types.FunctionType(func.func_code, globals(), 'func2', (2,))
func2()
# 2