Анимация
JavaScript
|
Главная Библионтека co name Содержит имя функции (или ?, если объект-код создан с помощью функции compile() ). co argcount Число позиционных аргументов функции (включая аргументы, имеющие значения по умолчанию). co nlocals Число локальных переменных (включая аргументы функции). co varnames Кортеж, содержащий имена локальных переменных. co code Строка, представляющая последовательность байт-компилированных инструкций. co consts Кортеж, содержащий значения используемых литеральных выражений. co names Кортеж всех используемых в байт-коде имен. co filename Имя файла, из которого объект-код был скомпилирован. co firstlineno Номер первой строки определения функции в файле. co lnotab Строка, представляющая отображение смещения в байт-коде в номера строк (пустая строка, если включена оптимизация). co stacksize Необходимый для выполнения размер стека (включая локальные переменные). co flags Число, представляющее различные флаги интерпретатора. Для co flags определены следующие биты (наиболее важные): бит 0x04 установлен, если функция значения аргументов по умолчанию сохраняются в объекте-функции, так как они вычисляются во время выполнения. Объект-код, в отличие от объекта-функции, неизменяем и не содержит ссылок (прямо или косвенно) на изменяемые объекты. Объект-код создается с помощью встроенной функции compile() , а также может быть извлечен из объекта-функции используя его атрибут func code. Объект-код можно выполнить с помощью инструкции exec или вычислить представляемое им выражение с помощью встроенной функции eval() . Объекты кода имеют следующие атрибуты, доступные только для чтения: Если объект кода представляет функцию, то первый элемент кортежа co consts всегда является строкой документации (или None, если строка документации не определена). 11.9.2 Кадр стека Объект frame представляет кадр стека функции, "окружение", в котором выполняются инструкции кода. Вы можете получить объект кадра стека через атрибут tb frame объекта traceback (см. раздел 11.9.3). Объекты frame имеют следующие атрибуты (атрибутам f trace, f exc type, f exc value и f exc traceback можно присвоить новое значение, остальные доступны только для чтения): f back Ссылка на предыдущий кадр стека (то есть, если мы рассматриваем кадр стека функции func, то этот атрибут ссылается на кадр стека функции, вызвавшей функцию func) или None, если рассматриваемый кадр стека является последним (то есть относится не к функции, а к коду, исполняемому в глобальной области видимости). f code Объект кода (см. раздел 11.9.1), который выполняется в рассматриваемом кадре стека. f locals Словарь, используемый для поиска локальных имен. f globals Словарь, используемый для поиска глобальных имен. f builtins Словарь, используемый для поиска встроенных имен. f restricted Флаг, указывающий на то, что функция выполняется в защищенном режиме. f lineno Номер последней выполненной в рассматриваемом кадре стека строки. f lasti Номер последней выполненной в рассматриваемом кадре стека инструкции байт-кода (может использоваться в качестве индекса для строки байт-кода объекта code). использует запись * args (воспринимает произвольное число позиционных аргументов); бит 0x0 8 установлен, если функция использует запись **kwds (воспринимает произвольное число именованных аргументов). 11.9.3 Объекты traceback Объект traceback представляет путь, пройденный с момента генерации исключения до его перехвата. Таким образом, он создается при возникновении исключительной ситуации. Вы можете получить объект traceback в качестве третьего элемента кортежа, возвращаемого функцией sys.exc info() (см. описание модуля sys). Если программа не содержит подходящего обработчика исключения, информация, хранящаяся в объекте traceback, выводится в стандартный поток ошибок. В интерактивном режиме объект traceback для последнего не перехваченного исключения доступен через переменную sys.last traceback. Объекты traceback имеют следующие атрибуты, доступные только для чтения: tb next Ссылка на объект traceback, представляющий следующий уровень на пути в сторону кадра стека, в котором возникла исключительная ситуация, или None, если рассматриваемый объект представляет последний уровень. tb frame Ссылка на кадр стека, представляющего текущий уровень. tb lineno Номер строки (на текущем уровне), в которой возникла исключительная ситуация. tb lasti Номер (на текущем уровне) инструкции байт-кода, которая привела к возникновению исключительной ситуации (может использоваться в качестве индекса для строки байт-кода объекта code). Значения атрибутов tb lineno и tb lasti объекта traceback могут отличаться от значений атрибутов f lineno и f lasti объекта frame, если исключительная ситуация возникла в теле инструкции try без подходящей ветви except или имеющей ветвь finally. f trace Функция, которая будет вызываться в начале каждой строки исходного кода, или None (используется отладчиком). f exc type f exc value f exc traceback Эти атрибуты представляют последнее перехваченное в рассматриваемом кадре исключение. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 [ 50 ] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |