Python Glossary English

все 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Сообщить о неточности