- •1. Базові поняття
- •1.1. Алгоритми і програми
- •1.2. Мови програмування і рівні абстракції
- •Було відмічено, що всі обчислення зводяться до наступних елементарних дій:
- •Але, мови високого рівня мають багато переваг:
- •1.3. Формальні і природні мови
- •1. Однозначність
- •2. Надмірність
- •1.4. Інтерпретатори і компілятори
- •1.5. Перша програма
- •Існує два способи використання інтерпретатора:
- •1.6. Що таке відлагодження?
- •1.6.1. Синтаксичні помилки (syntax errors)
- •1.6.2. Помилки виконання (runtime errors)
- •1.6.3. Семантичні помилки (semantic errors)
- •1.6.4. Процес відлагодження
- •1.7 Довідкова система
- •1.7. Коментарі в програмах
- •1.8. Створення скриптів
- •1.9 Поняття модуля
- •Імпортування модулів
- •Стандартна бібліотека Python
- •Модулів, що тісно пов'язані з інтерпретатором
- •Модулі для інтерфейсу з операційною системою
- •Окрему групу складають модулі, специфічні для юнікса:
- •Є модулі для доступу до зовнішніх бібліотек.
- •Мережні протоколи
- •Бібліотека Python містить засоби створення серверів.
- •Інші модулі
- •Методичні вказівки
Модулі для інтерфейсу з операційною системою
Перший з них - модуль os. В ньому зібрані функції для управління файловою системою і процесами.
Модуль thread містить низькорівневий переносимий інтерфейс до потоків (ниткам, "легким" процесам) операційної системи.
Модуль threading містить класи - високорівневі оболонки модуля thread в стилі Java; тут є класи Thread, Lock, Condition, Event, Semaphore.
Модуль mmap надає переносимий інтерфейс до файлів, що відображаються в пам'ять.
Модулі glob і fnmatch дозволяють маніпулювати шаблонами імен файлів.
Бібліотека signal дозволяє встановлювати обробники для асинхронних подій (POSIX signals в тих ОС, яких ці сигнали підтримують).
Окрему групу складають модулі, специфічні для юнікса:
posix і posixfile (низькорівневі частини модуля os),
pwd і grp (доступ до функцій паролів, отримання інформації про користувачів і групи користувачів),
модуль crypt,
модулі tty і pty (функції терміналу і псевдотерміналу),
модуль fcntl (доступ до системних викликів fcntl і ioctl),
модуль resource (системні виклики get/set-rlimit, getrusage),
модуль syslog,
модулі pipes і cmd.
Є модулі для доступу до зовнішніх бібліотек.
Модулі zlib/gzip/zipfile дають доступ до відповідних функцій компресії (архівації).
Модулі readline і rlcompleter - до бібліотеки GNU readline.
Бібліотеки math, cmath, random дають програмістові доступ до широкого спектру математичних функцій.
Декілька модулів криптографії, з яких 2 для доступу не до алгоритмів шифрування і дешифровки, а до хешам, - модулі md5 і sha.
Модулі Bastion і rexec дозволяють створювати захищені середовища і виконувати в них код, якому програміст не довіряє, наприклад, код, переданий по мережі. Програміст сам управляє ступенем довіри, і сам визначає, яка підмножина вбудованих функцій і стандартних модулів буде доступна в такому середовищі.
У дистрибутив Python входить інтерфейс до графічної бібліотеки Tk (насправді в цьому інтерфейсі захований повноцінний Tcl :), самі Tcl/Tk в дистрибутив не входять, їх треба ставити окремо. Є декілька простих модулів для маніпулювання аудіофайлами і файлами зображень.
Мережні протоколи
Цю групу модулів я винесу в окрему частину. Це велика, добре розроблена група модулів, що реалізовує доступ до мережевих протоколів і форматів файлів.
Ця частина бібліотеки влаштована ієрархічно, модулі тут залежать один від одного і один одного інтенсивно використовують. У самому низу знаходяться модулі socket і select. Модуль socket надає об'єктно-орієнтований інтерфейс до функцій мережевих бібліотек ОС. Підтримуються всі види сокетів і всі мережеві протоколи - TCP/IP (включаючи IPv6), UNIX domain, IPX/SPX, і т.д. Модуль select дає доступ до системних викликів select і poll.
Модуль cgi - модуль номер один для написання CGI-скриптів. Модуль дає доступ до переданої від браузера форми, дозволяє перевірити наявність даних, витягнути і обробити ці дані і т.п.
Модулі httplib, ftplib, gopherlib, poplib, imaplib, nntplib, smptlib, telnetlib дають доступ до клієнтських частин відповідних протоколів.
Бібліотека urllib дозволяє мати доступ до мережевих ресурсів, за заданим URL; вона, звичайно, використовує бібліотеки httplib, ftplib і nntplib.
Бібліотека urllib2 - складніша версія urllib; вона містить код для доступу до мережевих ресурсів через прокси з авторизацією.
Модуль Cookie дозволяє створювати і обробляти "куки" - блоки інформації, що пересилаються між браузером і HTTP-сервером в цілях створення сесій.
