Категории
Самые читаемые книги
ЧитаемОнлайн » Компьютеры и Интернет » Программирование » Язык программирования Python - Роман Сузи

Язык программирования Python - Роман Сузи

Читать онлайн Язык программирования Python - Роман Сузи

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 50 51 52 53 54 55 56 57 58 59
Перейти на страницу:

Трассировочный объект имеет следующие атрибуты:

• tb_frame Фрейм исполнения текущего уровня.

• tb_lineno и tb_lasti Номер строки и инструкции, где было возбуждено исключение.

• tb_next Следующий уровень стека (другой трассировочный объект).

Одно из наиболее частых применений модуля traceback — «мягкая» обработка исключений с выводом отладочной информации в удобном виде (в лог, на стандартный вывод ошибок и т.п.):

#!/usr/bin/python

def dbg_except():

 """Функция для отладки операторов try–except"""

 import traceback, sys, string

 print sys.exc_info()

 print " ".join(traceback.format_exception(*sys.exc_info()))

def bad_func2():

 raise StandardError

def bad_func():

 bad_func2()

try:

 bad_func()

except:

 dbg_except()

В результате получается примерно следующее:

(<class exceptions.StandardError at 0x4019729c>,

<exceptions.StandardError instance at 0x401df2cc>,

<traceback object at 0x401dcb1c>)

Traceback (most recent call last):

 File "pr143.py", line 17, in ?

  bad_func()

 File "pr143.py", line 14, in bad_func

  bad_func2()

 File "pr143.py", line 11, in bad_func2

  raise StandardError

StandardError

Функция sys.exc_info() дает кортеж с информацией о возбужденном исключении (класс исключения, объект исключения и трассировочный объект). Элементы этого кортежа передаются как параметры функции traceback.format_exception(), которая и печатает информацию об исключении в уже знакомой форме. Модуль traceback содержит и другие функции (о них можно узнать из документации), которые помогают форматировать те или иные части информации об исключении.

Разумеется, это еще не все возможности модуля inspect и свойств интроспекции в Python, а лишь наиболее интересные функции и атрибуты. Подробнее можно прочитать в документации или даже в исходном коде модулей стандартной библиотеки Python.

Заключение

С помощью возможностей интроспекции удается рассмотреть фазы работы транслятора Python: лексический анализ, синтаксический разбор и генерации кода для интерпретатора, саму работу интерпретатора можно видеть при помощи отладчика.

Вместе с тем, в этой лекции было дано представление об использовании профайлера для исследования того, на что больше всего тратится процессорное время в программе, а также затронуты некоторые аспекты оптимизации Python-программ и варианты оптимизации кода на Python по скорости.

Наконец, интроспекция позволяет исследовать не только строение программы, но и объектов, с которыми работает эта программа. Были рассмотрены возможности Python по получению информации об объектах — этом основном строительном материале, из которого складываются данные любой Python–программы.

1 ... 50 51 52 53 54 55 56 57 58 59
Перейти на страницу:
На этой странице вы можете бесплатно скачать Язык программирования Python - Роман Сузи торрент бесплатно.
Комментарии
КОММЕНТАРИИ 👉
Комментарии
Николай
Николай 09.02.2025 - 16:58
Захватывающий рассказ, который погружает в мир ужаса и мистики, где древние божества и тайные культы угрожают существованию человечества
Мишель
Мишель 31.01.2025 - 12:20
Книга очень понравилась. Интригующий сюжет 
Аннушка
Аннушка 16.01.2025 - 09:24
Следите за своим здоровьем  книга супер сайт хороший
Татьяна
Татьяна 21.11.2024 - 19:18
Одним словом, Марк Твен!
Без носенко Сергей Михайлович
Без носенко Сергей Михайлович 25.10.2024 - 16:41
Я помню брата моего деда- Без носенко Григория Корнеевича, дядьку Фёдора т тётю Фаню. И много слышал от деда про Загранное, Танцы, Савгу...