Язык программирования Python

       

Язык программирования Python


Что такое Python?
Как описать язык?
История языка Python
Программа на Python
Основные алгоритмические конструкции
Последовательность операторов
Оператор условия и выбора
Циклы
Функции
Исключения

Встроенные типы данных
Тип int и long
Тип float
Тип complex
Тип bool
Тип string и тип unicode
Тип tuple
Тип list
Последовательности

Некоторые методы для работы с последовательностями
Взятие элемента по индексу и срезы
Тип dict
Тип file
Выражения
Имена
Стиль программирования
Заключение

Язык программирования Python

Понятие модуля
Модули в Python
Встроенные функции
Функции преобразования типов и классы
Числовые и строковые функции

Функции обработки данных
Функции определения свойств
Функции для доступа к внутренним структурам
Функции компиляции и исполнения
Функции ввода-вывода
Функции для работы с атрибутами
Функции-"украшатели" методов классов
Обзор стандартной библиотеки
Модуль sys
Модуль copy

Модули math и cmath
Модуль random
Модуль time
Модуль sets
Модули array и struct
Модуль itertools
Модуль locale
Модуль gettext
Поддержка цикла разработки
Модуль pdb

Модуль profile
Модуль unittest
Модуль pydoc
Пакет docutils
Пакет distutils
Взаимодействие с операционной системой
Модуль os
Модуль stat
Модуль tempfile

Обработка текстов
Многопоточные вычисления
Хранение данных. Архивация
Модуль pickle
Модуль shelve
Модули anydbm и gdbm
Модуль csv
Платформо-зависимые модули
Поддержка сети. Протоколы Интернет
Поддержка Internet. Форматы данных

Python о себе
Графический интерфейс
Заключение

Язык программирования Python

Что такое функциональное программирование?
Функциональная программа
Функция: определение и вызов
Рекурсия
Функции как параметры и результат
Функция apply()
Обработка последовательностей
Функции range() и xrange()

Функция map()
Функция filter()
Списковые включения
Функция sum()
Функция reduce()
Функция zip()
Итераторы
Функция iter()
Функция enumerate()
Функция sorted()

Функция itertools.chain()
Функция itertools.repeat()
Функция itertools.count()
Функция itertools.cycle()
Функции itertools.imap(), itertools.starmap() и itertools.ifilter()
Функции itertools.takewhile() и itertools.dropwhile()
Функция itertools.izip()
Функция itertools.groupby()
Функция itertools.tee()
Собственный итератор

Простые генераторы
Генераторное выражение
Карринг
Заключение
Ссылки по теме

Язык программирования Python

Основные понятия

Метаклассы
Мультиметоды
Устойчивые объекты
Критика ООП
Заключение
Ссылки
Абстракция и декомпозиция
Объекты
Типы и классы

Определение класса
Инкапсуляция
Доступ к свойствам
Сокрытие данных
Полиморфизм
Имитация типов
Наследование
Множественное наследование
Порядок разрешения методов
Контейнеры

Ассоциация
Слабые ссылки
Статический метод
Метод класса
Абстракция и декомпозиция

Язык программирования Python

Модуль Numeric
Создание массива
Методы массивов
Срезы
Универсальные функции
Функции модуля Numeric
Функции для работы с массивами
Функция Numeric.take()

Функции Numeric.diagonal() и Numeric.trace()
Функция Numeric.choose()
Свод функций модуля Numeric
Модуль LinearAlgebra
Модуль RandomArray
Заключение

Язык программирования Python

Строки
Кодировка Python-программы
Строковые литералы
Операции над строками
Операция форматирования
Индексы и срезы
Модуль string

Методы строк
Рекомендации по эффективности
Модуль StringIO
Модуль difflib
Регулярные выражения
Синтаксис регулярного выражения
Методы объекта-шаблона

Примеры шаблонов
Отладка регулярных выражений
Обработка лога
Анализ записи числа
Множественная замена
Работа с несколькими файлами
Работа с Unicode
Заключение

Язык программирования Python

Формат CSV
Пакет email
Разбор сообщения. Класс Message
Формирование сообщения

Разбор поля заголовка
Язык XML
Формирование XML-документа
Анализ XML-документа
Пространства имен
Заключение

Язык программирования Python

CGI-сценарии
Модуль cgi
Что после CGI?

Среды разработки
Zope и его объектная модель
Заключение

Язык программирования Python

Работа с сокетами
Модуль smtplib
Модуль poplib
Модули для клиента WWW

Функции для загрузки сетевых объектов
Функции для анализа URL
Возможности urllib2
XML-RPC сервер
Заключение

Язык программирования Python

Основные понятия реляционной СУБД
Что такое DB-API 2
Описание DB API 2.0
Интерфейс модуля
Объект-соединение
Объект-курсор
Объекты-типы

Работа с базой данных из Python-приложения
Знакомство с СУБД
Создание базы данных
Наполнение базы данных
Выборки из базы данных
Другие СУБД и Python
Заключение

Язык программирования Python

О потоках управления

Пример многопоточной программы
Функции модуля threading
Класс Thread
Таймер
Замки
Когда нужны замки?
Тупиковая ситуация (deadlock)
Семафоры
События

Условия
Очередь
Модуль thread
Визуализация работы потоков
Заключение

Язык программирования Python

Обзор графических библиотек
О графическом интерфейсе
Основы Tk
Классы виджетов
События

Создание и конфигурирование виджета
Виджет форматированного текста
Менеджеры расположения
Изображения в Tkinter
Графическое приложение на Tkinter
Заключение

Ссылки

Язык программирования Python

C API

Написание модуля расширения
Пример встраивания интерпретатора в программу на C
Использование SWIG
Простой пример использования SWIG
Интеграция Python и других систем программирования

Java
Prolog
OCaml
Pyrex
Заключение

Язык программирования Python

Лексический анализ
Синтаксический анализ
Получение байт-кода
Изучение байт-кода
Отладка
Профайлер

Модуль profile
Модуль timeit
Оптимизация
Pychecker
Исследование объекта
Модуль inspect

Заключение