Основы
- Основы Python в кратком изложении: 1 | 2 | 3 | 4 | 5 | 6
- Основы языка программирования Python за 10 минут
- Пишем красивый идиоматический Python
- Be Pythonic
- Code Like a Pythonista: Idiomatic Python: 1 | 2 | 3
- Python-way. Работа над ошибками
- Вещи, о которых следует помнить, программируя на Python
- Python качественно
- Pythonic
- Путеводитель по Python. Пишем великолепный код
- Доклад по Python
- Уроки Python от компании Google
- Советы Google по кодированию на языке Python: 1 | 2
- Прочие варианты использования оператора else
- Онлайн-репетитор по Python
- Регулярные выражения, пособие для новичков: 1 | 2
- Юникод для чайников
Продвинутый уровень
- Python изнутри: 1 | 2 | 3 | 4
- Материалы продвинутого уровня по Питону
- Заметки об объектной системе языка: 1 | 2 | 3
- Абстрактные классы и интерфейсы
- Некоторые возможности Python о которых вы возможно не знали
- Сопрограммы
- Как устроен namedtuple или динамическое создание типов
- Итерируем все и вся
- Why itertools rocks
- Порядок разрешения методов в Python
- Руководство по магическим методам в Питоне
- Ultimate benchmark пяти с половиной способов проверить наличие атрибута объекта
- Интервально-ассоциативный массив
- Неочевидное поведение некоторых конструкций
- Консервация объектов в Python
- Устранение утечек памяти в приложении на Питоне
- Memoization в Python
- Сортировки: key vs cmp
- Всё, что Вы хотели знать о слайсах
- Неочевидная оптимизация по скорости при решении конкретной задачи на Python
- Ускорение кода на Python средствами самого языка
- Производительность в Python. Легкий путь
- Пользовательские атрибуты в Python
- Руководство к дескрипторам
- Еще немного о дескрипторах в Python
- Как работает yield
- Пайпы, the pythonic way
- Сравнение эффективности способов запуска веб-приложений на языке Python
- Использование памяти в Python
- О порядке поиска пакетов и модулей для импорта в Python
- Организация текучих (fluent) интерфейсов в Python
- Антипаттерн settings.py
Tips & Tricks
- Python-неизвестный
- 6 способов слияния списка списков
- Python: советы, уловки, хаки: 1 | 2 | 3 | 4
- Консольные хитрости Питон: история команд + автодополнение
- Python — оптимизация хвостовой рекурсии
- Устранение Хвостовой рекурсии
- Python: надежная защита от потери запятой в вертикальном списке строк
- Сортировка миллиона 32-битных int’ов в 2 мегабайтах памяти на Питоне
Размышления о Python
- Python, философия дизайна — Guido van Rossum: 1 | 2
- Мысли о Python 3
- Перестаньте писать классы
Всё о декораторах
- Понимаем декораторы в Python’e, шаг за шагом. Шаг 1 и Шаг 2
- Добавляем чуть больше рефлексии: декораторы
- Сила и красота декораторов
- Python: декорируем декораторы. Снова
- Декоратор cached_property
Тестирование и отладка
- Тестирование. Начало
- Полное покрытие кода
- Генерация юнит-тестов
- Непрерывное тестирование питонопроекта
- TextTest — кроссплатформенный фреймворк на python для тестирования GUI и не только: 1 | 2
- Модуль Mock: макеты-пустышки в тестировании
- pdb – Интерактивный отладчик
- Профилирование и отладка Python: 1 | 2 | 3 | 4
Параллельный Python и многопоточный
- Параллельный Питон, начало
- Параллельное программирование в Python при помощи multiprocessing и shared array
- Основы работы с потоками в языке Python
- Еще раз о многопоточности и Python
- Python threading или GIL нам почти не помеха
- Python и Twisted — Заметки о параллельной обработке данных
- Учимся писать многопоточные и многопроцессные приложения на Python
- Как устроен GIL в Python
- Stackless Python и Concurrence
- Конкурентность в асинхронном приложении на примере twisted
Интерфейсы
PyQt:
- Цикл статей о PyQt4 #1: 1 | 2 | 3 | 4 | 5
- Цикл статей о PyQt4 #2: Посиделка первая | Посиделка вторая
- PyQt: простая работа с потоками
- Реализация паттерна MVC для PyQt
- Написание приложений, основаных на Qt, на языке Python
WxPython:
- Сказ о wx.Python
- Знакомство с wxPython
- Пример использования WxPython для создания нодового интерфейса: 1 | 2 | 3 | 4 | 5
- Потоки в wxPython
PyGTK:
- Компоновка — начало начал
- Ещё немного о компоновке и виджетах
- Прогресбар и нити в PyGTK
- PyGTK: потоки и магия обёрток
- Введение в pygtk/gtkbuilder: пишем калькулятор
Tkinter:
Функциональный Python
- Функциональное программирование для землян — функции
- Функциональное программирование для землян — списки
- Откуда идут «функциональные» корни Python
- Ненормальное функциональное программирование на Python
- Не ещё одна статья о функциональном программировании
- Для тех, кто хочет странного: монады в Python
- Монады в Python поподробнее
- Абстрагирование потока управления
- Правильное абстрагирование потока управления
- Паттерны проектирования без ООП
Метапрограммирование
- Метаклассы в Python
- Использование метаклассов в Python
- «Наследование» не от классов
- Заметки о метапрограммировании в Python
Python и редакторы
Vim:
- Vim и Python: Vim+Python. Для начинающих или Настраиваем Vim под Python
- + Django:Настройка Vim для работы с Python и Django или VIM, Django… Django, VIM
Emacs:
Sublime Text 2:
Geany:
Notepad++
Различный практикум
API:
- В основном API различных социальных сетей и сервисов.
- Пишем себе немного OpenID-авторизации
- Экспорт друзей VK в Google Contacts
- Скачивание музыки из VK: 1 | 2
- Twitter + VK: 1 | 2
- Клиент для SOAP API Почты России
- Jabber-to-Evernote Gateway изнутри
- Скрипт проверки наличия свободных дат в посольстве
- Flightstats API: Пишем свое табло прилетов с Боингами и Аэробусами
- Получение любимых аудиозаписей с pandora.com
- Bing + Python, поиск изображений
Чат:
- Программа-мечта начинающего питоновода
- WebSocket-чат на Tornado для вашего Django-проекта
- Yet another python Chat client
Боты:
- ICQ бот
- Простой Twitter-бот
- Не совсем обычный XMPP-бот: туннелирование
- Пишем бота для игры «Найди отличие»
- Skype-бот для голосовых конференций
- Пишем бота для Twitter на основе GitHub API
Сокеты, серверы:
- Сокеты в Python для начинающих
- Асинхронный удар
- Асинхронный http-клиент, или почему многопоточность — лишнее
- Как применять Linux epoll в Python
- Сервер на python для websockets
- Inbox.py: самый простой SMTP-сервер
- Реализация небольшого асинхронного сервера
- FTP сервер с авторизацией через базу данных
Система:
- Мониторинг за изменениями файловой системы
- Python на примере демона уведомления о новых коммитах Git
- Git. Автоматическая проверка сообщения коммита на стороне сервера с помощью Python
- Скрипт для рекурсивного сравнения директорий
- Python для системных администраторов
- Gnome Applets. Введение
- Пишем апплет для GNOME
- Пишем апплет-переводчик для Gnome
- Totem Gnome Applet
- Переименование процессов в Python
- Как написать дополнение для GIMP на языке Python
- KDE4 + Python. Плазма-змей
- KDE4 Plasma Desktop. Создание плазмоида
- Whois: практическое руководство пользователя
- Симуляция нажатий Home, End, PgUp, PgDown
- Демон для удаленного управления компьютером через e-mail
Работа с консолью:
Парсинг, обработка текста:
- Первые шаги в программировании на Python
- Пишем свой шаблонизатор на Python
- Как я учился работать с XML
- Кузявые ли бутявки, т.е. пишем морфологический анализатор
- Обработка Excel файлов с использованием Python
- Социальный граф хабрасообщества
- Regexp и Python: извлечение токенов из текста
- Автоматизируем проверку трекинга почты России
- Доставка свежей прессы с помощью Python прямо в почтовый ящик
- Разбор кода и построение синтаксических деревьев с PLY. Основы
- Частотный анализатор английских слов
- Grab — python библиотека для парсинга сайтов
- Документация по Grab — библиотеке для парсинга сайтов
- Парсинг на Pуthon. Как собрать архив Голубятен
- Генерим PDF бочками
Работа с изображениями:
- Играемся с изображениями в Python
- Получаем тип и размеры изображения без скачивания его целиком
- Решение проблемы оперативного ресайза изображений
Геймдев:
- Пишем платформер на Python, используя pygame: 1 | 2.1 | 2.2
- Игра Жизнь на Python
- Blender 2.49b + Python 2.6 – используем клавиатуру в своей игре
- Blender 2.6 + Python 3.2 – задействуем устройства ввода в собственной игре
Python + Django:
- Заметки для построения эффективных Django-ORM запросов в нагруженных проектах
- Django ORM, gevent и грабли в зелени
- Хостинг картинок за полчаса
- Фотогалерея на Django с использованием Google Picasa в качестве хостинга
- Сумбурные заметки про python и django
- Пишем backend для мобильного приложения за несколько минут
- Капча с помощью PIL или практический велосипед
Flask:
- Мега-Учебник Flask: 1 | 2 | 3 | 4
- Создание RESTful API в Google App Engine на основе Flask
Алгоритмы и структуры данных, ИИ, анализ данных:
- Декодирование капчи на Python
- Распознавание некоторых современных CAPTCHA
- Задачка о восьми ферзях
- Реализация графов и деревьев на Python
- Поиск в строке. Реализация в CPython
- Анализ рынка ноутбуков с помощью Python
- Введение в анализ текстовой информации с помощью Python и методов машинного обучения
- Введение в анализ данных с помощью Pandas
- Шифр Виженера. Разбор алгоритма на Python
- Латентно-семантический анализ и поиск на python
- Необыкновенный способ генерации лабиринтов
- PyBrain работаем с нейронными сетями на Python
- Простой классификатор на PyBrain и PyQt4
- Обучаем компьютер чувствам (sentiment analysis по-русски)
- Определение части речи слов в русском тексте (POS-tagging)
- Частотный анализатор английских слов
Вне категории:
- Реализация кеша с ограничением по числу элементов на Python — решения: простое и посложнее
- Случайные числа из звуковой карты
- Пишем модуль расширения для Питона на C
- Создаем симулятор солнечной системы
- Взламываем шифры с Python
- История одной оптимизации
- Кодим безумный пассивный сниффер в виде модуля для Python
- Рисуем волну .wav-файла
- Tilt-Shift фотографии своими руками
- Программный захват с вебкамеры
- Распознаём изображение с токена при помощи камеры
- Простой интерпретатор с нуля на Python
- Руководство: пишем интерпретатор с JIT на PyPy
- Играемся с гироскопом ноутбука thinkpad в linux