справочник по Python. мм isbn 9785932861578 9 785932 861578
Скачать 4.21 Mb.
|
845 итераторы изменения в протоколе, в Python 3, 786 использование в Python 3, 784 итерации, 29, 37, 91, 117, 256 переменная цикла, 118 поддержка в объектах, 38 по значениям элементов словаря, 73 по нескольким последовательностям, 118 по символам в строке, 38 по строкам в файле, 38 по элементам последовательностей, 37 последовательности, 101 словаря, 38 списка, 38 прерывание цикла, 119 протокол, 91, 117 через последовательности, 65 К кавычка, экранированная последова- тельность в строках, 52 кадры стека, 81 карринг и частично подготовленные функции, 111 каталоги временные, 407 копирование, 401 рекурсивный обход, 489 сравнивание, 396, 397 удаление, 402 каталог пакетов Python (Python Package Index, PyPI), 203 классы, 43 __mro__, атрибут, 163 super(), функция в методах, 162 абстрактные, 182 абстрактные базовые, 326 аргумент методов self, 160 атрибут __slots__, 177 атрибуты дескрипторов, 89 базовые, 160 в сравнении со словарями для хране- ния данных, 253 декораторы, 188 дескрипторы атрибутов, 170 доступ к классам, объявленным в модуле, 190 и метаклассы, 184 инкапсуляция данных, 171 исключений, 275 как вызываемые объекты, 78 как пространства имен, 158, 160 метод __del__() и сборка мусора, 282 метод __init__(), 159 методы классов, 165, 261 наследование, 43, 160 метода __init__(), 161 множественное, 162 объявление методов, 43 оптимизация, 253 отличия в поддержке ООП от C++ или Java, 160 перегрузка операторов, 84 правила видимости атрибутов, 160 применение декораторов, 141 примеси, 164 производные, 161 свойства, 167 связанные методы, 169 создание экземпляров, 44, 85, 159 специальные методы, 84 старого стиля, 186 статические методы, 44, 165, 271 типы, 75 управление доступом к атрибутам, 88 управление памятью, 172 частные атрибуты, 171 частные методы и атрибуты, 50 ключи допустимые типы, 36 словарей, 71 кодировка исходных текстов, Python 3, 772 Юникода по умолчанию, 216 символов, 56, 353 кодовые пункты, Юникод, 53 коды ошибок, список кодов системных ошибок, 430 количество процессоров в системе, опре- деление, 543 коллекция, определение, 57 кольцевой буфер, 333 команды отладчика, 243 комбинированные операции присваива- ния, 93, 109 комментарии, 49 компилятор, отсутствие, 236 компиляция модулей, 195 комплексные числа, 51, 64 сравнивание, 98 конвейерная обработка данных, 40 и генераторы, 146 846 Алфавитный указатель конкатенация кортежей, 34 соседних строковых литералов, 51 списков, 32 строк, 31 контейнерные объекты и подсчет ссы- лок, 60 контейнеры, 54 определение, 57 контрольные суммы сообщений, 694 копирование глубокое, 61 и изменяемые объекты, 60 и подсчет ссылок, 60 каталогов, 401 объектов, 61 поверхностное, 61, 99 последовательностей, 99 словарей, 72 корневой регистратор, модуль logging, 445 кортежи, 33 в сравнении со списками, 34 доступны только для чтения, 34 и форматирование строк, 103 как ключи словарей, 36, 109 как последовательности, 65 конкатенация, 34 распаковывание, 34 в Python 3, 773 при выполнении итераций, 118 с единственным элементом, 34 сечение, 34 с именованными элементами, 335 создание списка кортежей из слова- ря, 73 сравнивание, 102 криптографические функции вычисле- ния контрольных сумм, 694 критические разделы, блокировка, 517 круглые скобки и кортежи, 34 курсоры, 376 куча, 341 Л лексическая область видимости, 135 литералы множеств, Python 3, 772 логические выражения, 112 правила вычисления, 113 логические значения, 50, 63 логические операторы, 98 локальные данные потока, 555 локальные переменные, 134 и функция eval(), 156 ссылки в кадре стека, 82 М маркеры порядка следования байтов (Byte-Order Markers, BOM) и Юникод, 219 математические операции, 91 над значениями разных типов, 98 специальные методы, 91 менеджеры контекста, 94, 126, 339 вложенные, 339 и блокировки, 553 определение с помощью генератора, 339 местоположение декораторов, 140 пользовательских пакетов, 232 файлов с настройками, 231 метаклассы, 184, 256 и дескрипторы, 187 метод __prepare__(), 779 пример, 186 методы, 76, 158 @classmethod, декоратор, 76 @staticmethod, декоратор, 76 встроенные, 78 использование функции super(), 162 как свойства, 168 классов, 76, 165 практическое использование, 166 несвязанные, 77 объявление в классах, 43 определение, 159 порядок вызова, 77 связанные, 77, 169 статические, 76, 165 тип данных, 76 экземпляров, 76, 159 механизмы синхронизации модуль multiprocessing, 534 модуль threading, 548 микропотоки, 559 многозадачность, 516 в программах на языке Python, 518 глобальная блокировка интерпрета- тора, 518 и генераторы, 559 и побочные эффекты, 133 и сопрограммы, 42, 148, 559 обмен сообщениями, 516 Алфавитный указатель 847 ограничения в многопроцессорных системах, 518 проблемы масштабирования, 518 проблемы синхронизации, 518 советы по использованию модуля multiprocessing, 544 многократное использование объектов, 61 многомерные списки, 32 «многопоточный цыпленок», 518 множества, 35, 73 добавление элементов, 36 количество элементов, 109 объединение, 36 пересечение, 36 разность, 36 симметричная разность, 36 удаление элементов, 36 множественное наследование, 162 модель выполнения, 116 модификаторы формата, 27 модули, 46, 80, 189 атрибуты, 80 выгрузка, 196 глобальные пространства имен для функций, 134 динамическая загрузка, 190 доступ к атрибутам, 80 доступ к классам, объявленным в модуле, 190 загрузка, 195 и файлы .pyc, 196 как объекты, 190 компиляция, 195 повторная загрузка, 196 путь поиска, 194 тип данных, 75 модули расширений, 733 и глобальная блокировка интерпре- татора, 753 и подсчет ссылок, 752 и потоки управления, 753 компилирование с помощью distutils, 739 модуль ctypes, 759 обработка ошибок, 750 преобразование типов данных языка C в типы языка Python, 747 преобразование типов данных языка Python в типы языка C, 740 создание вручную, 736 строки документирования, 737 функции-обертки, 736 модульное тестирование модуль unittest, 239 пример, 239 при переносе программ на версию Python 3, 789 мультиплексирование ввода-вывода, 572 Н «Наблюдатель», шаблон проектирова- ния, 174 надежные дейтаграммы, 587 наследование, 43, 160 __init__(), метод, 161 isinstance(), функция, 59 issubclass(), функция, 180 __mro__, атрибут классов, 163 __slots__, атрибут, 178 абстрактные базовые классы, 182 атрибутов, 161 в исключениях, 125 вызов методов суперкласса, 162 инициализация средствами супер- класса, 162 метаклассы, 184 множественное, 162 порядок разрешения имен методов, 164 настройка и оптимизация, 248 отладчика, 247 настройка кодировки по умолчанию, при работе со стандартными потоками ввода-вывода, 229 настройка механизма журналирования, 460 научная форма записи чисел с плаваю- щей точкой, 51 национальные символы и сравнивание строк, 103 неизменяемость кортежей, 34 неизменяемые объекты определение, 57 ключи словарей, 71 нелокальные переменные, Python 3, 774 необязательные аргументы функций, 39, 131 необязательные аргументы функций и тип None, 63 непечатаемые символы в строках, 51 несвязанные методы, 77 в Python 3, 78 несколько инструкций в одной строке, 49 848 Алфавитный указатель низкоуровневый ввод-вывод, 438 нормализация символов Юникода, 223 О область видимости внутри функций, 39 обмен сообщениями, 519 и сопрограммы, 519 определение, 516 передача буфера с двоичными данны- ми, 527 обработка ошибок, в модулях расшире- ний, 750 обработка потоков данных, и сопрограм- мы, 147 обработка сигналов, 501 и метод close() генераторов, 143 обработка сообщений, модуль logging, 453 обратный порядок следования байтов, 218 упаковывание и распаковывание, 368 обратный слэш, экранированная после- довательность в строках, 51 объединение множеств, оператор |, 36 объединение операторов сравнения в по- следовательности, 98 объекты, 43, 57 атрибуты, 57 генераторов, 83 атрибуты, 83 идентичность, 58 иерархия, 184 кадра стека, 81 атрибуты, 82 контейнеры, или коллекции, 57 копирование, 61 методы сравнения, 87 многократное использование интер- претатором, 61 определение объема занимаемой па- мяти, 249, 299 определение пустого объекта, 463 отображений файлов в память, 463 первого класса, 61 поддержка итераций, 117 подсчет ссылок, 59 получение списка ссылающихся объ- ектов, 282 представление, 176 прокси, 306 сериализация с помощью модуля marshal, 288 с помощью модуля pickle, 289 слабые ссылки, 305 сохранение, 223 с программным кодом, 81 атрибуты, 81 сравнение, 58, 786 типы, 57 экземпляры, 57 срезов, 83 атрибуты, 84 c трассировочной информацией, 82 атрибуты, 82 ограничения глубины рекурсии, изменение, 153 имен атрибутов, 177 на количество рекурсивных вызовов, изменение, 300 одновременная поддержка Python 2 и Python 3, 793 округления правила, 97 в Python 3, 98 операторы, 96 доступа к атрибутам и модули, 80 индексирования кортежей, 34 по ключу [], 72 словарей, 36 списков, 32 строк, 30 сравнения, 87 операции над последовательностями, 99 над числами, 96 определение конца файла, 209 определение новых исключений, 125 определение функций, 39 оптимизация __slots__, атрибут классов, 177, 254 алгоритмы, 252 встроенные типы данных, 252 дизассемблирование, 250 и декораторы, 256 измерение объема потребляемой па- мяти, 249 и использование исключений для об- работки нетипичных случаев, 255 и итерации, 256 и метаклассы, 256 и настройка, 248 Алфавитный указатель 849 и отказ от использования исключе- ний для обработки типичных слу- чаев, 255 использование пулов процессов, 533 и функциональное программирова- ние, 256 лишние уровни абстракции, 252 прирост скорости, 249 создание экземпляров, 253 стратегии оптимизации, 251 организация сетевых библиотечных мо- дулей в Python 3, 619 осторожность при работе с функцией range(), 38 отключение механизма сборки мусора, 282 отключение преобразования символов перевода строки, 207 отладка CGI-сценариев, 670 из командной строки, 246 настройка отладчика, 247 проверка утечек памяти, 283 точки останова, 244 отладочные проверки, 128 отладчик, 242 команды, 243 настройка, 247 отложенные вычисления, 138 отложенный вызов функций, с исполь- зованием модуля threading, 547 отображение и снижение размерности модуль multiprocessing, 530 отображение результатов, в интерактив- ном режиме, 230 отображения, 71 оператор индексирования по ключу, 72 специальные методы, 89 отрицательные индексы, 100 отступы, 48 инструкции в той же строке, 49 очереди кольцевые, 333 несколько поставщиков и потребите- лей, 525 пример использования в потоках управления, 557 разделяемые несколькими процесса- ми, 537 сообщений, 519 модуль multiprocessing, 522 с приоритетами, 341, 342 ошибки представления чисел с плаваю- щей точкой, 31 П пакеты, 197 память использование для списков и корте- жей, 34 местоположение объекта, 57 параллельная обработка последователь- ностей, 118 параметры командной строки, 205 Python 3, 786 анализ с помощью модуля optparse, 469 интерпретатора, 226 парсинг XML-документов, пример, 717 адресов URL, 646 документов HTML, 696 документов XML, 706 с помощью объектов класса ElementTree, 719 параметров командной строки, 205 сообщений электронной почты, 685 файлов robots.txt, 651 файлов в формате CSV, 681 пары, создание списка из словаря, 73 перевод строки, экранированная после- довательность в строках, 52 перевод формата, экранированная по- следовательность в строках, 52 перегрузка операторов, 178 порядок следования операндов, 179 приведение типов, 180 пример, 178 передача параметров функциям, 133 переменные, 25 во вложенных функциях, 135 глобальные, 134 как имена объектов, 61 класса, 158 совместное использование всеми экземплярами, 159 локальные, 134 окружения, 205, 207, 475 CGI-сценариев, 663 Python 3, 786 WSGI, 671 используемые интерпретатором, 228 подстановка значений в именах файлов, 497 850 Алфавитный указатель правила составления имен, 49 состояния, 551 связывание при импортировании мо- дулей, 192 цикла, 118 переносимые операции со строками пу- тей в файловой системе, 496 перенос программного кода из Python 2 в Python 3, 788 практическая стратегия, 792 переполнение целых чисел, 97 пересечение множеств, оператор &, 36 перехватывание исключений всех, 122 нескольких, 121 переход от версии Python 2 к версии Python 3, 24 побочные эффекты, 133 поверхностное копирование, 61 последовательностей, 99 словарей, 72 повторная загрузка модулей, 196 повторное возбуждение последнего ис- ключения, 120 подавление вывода символа перевода строки, 212 подготовка к созданию дистрибутива, 200 подклассы, 161 подстановка значений переменных, 105, 213 подстроки, поиск, 68 подсчет количества итераций, в циклах, 118 подсчет ссылок, 59, 173 в модулях расширений, 752 и измерение объема занимаемой па- мяти, 250 и инструкция del, 60 и копирование, 60 поиск всех загруженных модулей, 191 поиск подстроки со смещением, 69 полиморфизм, 165 получение справки, функция help(), 47 получение текущего рабочего каталога, 476 порта номер при разработке сетевых приложе- ний, 562 список широко известных номеров портов, 562 порядок доступа к атрибутам, 88 порядок округления, модуль decimal, 311 порядок разрешения имен методов, и ис- ключение TypeError, 164 порядок следования операндов, пере- грузка операторов, 179 последовательности, 65 индексирование в строках формата, 106 итерации, 101 конкатенация, 99 копирование, 99 оператор in, 99 операторы, 99 отрицательные индексы, 100 поверхностное копирование, 99 поддержка итераций, 65 распаковывание, 99 расширенный оператор среза, 101 специальные методы, 89 сравнивание, 102 посылка сигналов с помощью семафо- ров, 550 потоки выполнения и модуль decimal, 316 потоки управления главный поток, 516 демонические, 546 добавление в сетевые серверы, 616 и вычислительные задачи, 555 и глобальная блокировка интерпре- татора, 555 и метод close() генераторов, 143 и модули расширений, 753 механизмы синхронизации, 548 обработка синалов, 503 определение, 517 переменные состояния, 551 получение количества активных по- токов, 555 посылка сигналов с помощью сема- форов, 550 приостановка и завершение, 554 события, 550 сравнение с сопрограммами, 582 хранилище локальных данных, 555 правила видимости, 134 для классов, 160 для переменной цикла в генераторе списков, 149 для переменных функции, 134 и аргумент self в методах, 160 и инструкция import, 192 лексическая область видимости, 135 переменных цикла, 118 Алфавитный указатель 851 предопределенные классы исключений, 275 предотвращение создания файлов с байт-кодом, 293 представление даты и времени, 421 представлений объекты, в Python 3, 784 предупреждения, 278 встроенные, 278 преобразование объектов на языке Python в объекты на языке C, 758 последовательностей в множества, 35 регистра символов в строках, 70 словарей в списки, 37 строки в число, 31 типов, 111 полей в файле с данными, 62 типов данных языка C в типы языка Python, 747 типов данных языка Python в типы языка C, 740 приведение типов, перегрузка операто- ров, 180 приложения, WSGI, 671 пример ограничения времени ожидания с помощью сигналов, 502 принудительная сборка мусора, 282 Принцип единообразного доступа (Uniform Access Principle), 168 приостановка потоков, 554 приостановка процесса, 509 до получения сигнала, 500 прирост скорости, 249 присваивание атрибутам экземпляров, 176 и подсчет ссылок, 59 переменным во вложенных функци- ях, 135 сечений списков, 32 проблемы кодирования текста в сетевых приложениях, 564 проверка запущен ли модуль как самостоя- тельная программа, 193 на вхождение в состав последова- тельности, 99 принадлежности при работе со словарями, 108 существования файла, 497 типа влияние на производительность, 59 пример с метаклассом, 186 проблемы с объектами-оберт- ками, 180 программа-клиент, 562 TCP, пример, 564 пример UDP, 607 программа-сервер, 562 TCP, пример, 562 пример UDP, 607 пример реализации на основе сопро- грамм, 579 пример реализации с помощью моду- ля SocketServer, 612 производительность и выражения-генераторы, 150 и модуль logging, 462 и проверка типа, 59 операций ввода-вывода при работе с двоичными файлами, 442 производитель-потребитель, модель реализация на основе сопрограмм, 42 производные классы, 161 прокси-объекты и модуль multi- processing, 535, 538 прокси-серверы, 646 простой сокет, 587 пространства имен и инструкция import, 46, 189 и классы, 158, 160 локальные в функциях, 134 протокол безопасных соединений (Secure Sockets Layer, SSL), 608 протокол управления контекстом, 94 профилирование, 247 интерпретация результатов, 248 процессорное время, получение, 248, 508 процессы взаимодействие с помощью каналов, 526 демонические, 521 завершение, 506 принудительное, 520 определение, 516 посылка сигналов, 491 присоединение, 520 пулы, 530 прямой порядок следования байтов, 218 упаковывание и распаковывание, 368 пулы процессов, 530 пустой символ, экранированная после- довательность в строках, 52 пустой список, 32 |