Анимация
JavaScript


Главная  Библионтека 

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

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