все Python 3typesпонятие
types.CodeType
объекты интерпретатора
Тип скомпилированного байт-кода: то, что лежит в func.__code__ и что возвращает compile(). Хранит имена переменных, константы и число аргументов.
Синтаксис
func.__code__
Через __code__ видно то, чего нет в сигнатуре: co_varnames перечисляет сначала параметры, а затем локальные переменные, co_argcount считает только позиционные. Код-объект неизменяем и не знает о значениях по умолчанию и замыкании — они лежат в функции. Создавать его конструктором не стоит: аргументы меняются от версии к версии Python; для правки есть code.replace(...). Для разбора сигнатуры удобнее inspect.signature.
Примеры
def area(w, h=1):
s = w * h
return s
code = area.__code__
print(code.co_varnames, code.co_argcount) # → ('w', 'h', 's') 2
print(type(code).__name__) # → code
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности