Предисловие =========== Python -- это, пожалуй, один из немногих языков программирования, простых в освоении и одновременно мощных. Это очень важно и для начинающих, и для специалистов, но что ещё важнее -- на нём приятно программировать. Настоящая книга призвана помочь вам в изучении этого замечательного языка и показать, как можно быстро и безболезненно делать многие вещи -- в сущности, это такое себе "Идеальное противоядие против всех ваших проблем в программировании". Для кого эта книга ------------------ Эта книга служит путеводителем или учебным пособием для изучения языка программирования Python. Она нацелена, преимущественно, на новичков. Тем не менее, она будет полезна и опытным программистам. Автор задумал эту книгу так, чтобы изучить Python по ней смог любой, кто умеет хотя бы сохранять текстовые файлы, впрочем, и опыт программирования этому не помеха. Если у вас таки имеется предварительный опыт программирования, вас наверняка заинтересуют различия между Python и вашим любимым языком программирования, многие из которых специально выделены в тексте. Однако, считаю своим долгом предупредить вас о том, что вскоре вашим любимым языком программирования всё равно станет Python! .. _history-lesson: Немного истории --------------- Впервые я обратился к Python, когда мне понадобилось написать установщик для своей программы "Diamond", чтобы упростить процесс установки. Мне пришлось выбирать между привязками Python и Perl к библиотеке Qt. Я поискал информацию в сети на эту тему и наткнулся на `статью Эрика С. Реймонда `_, известного и уважаемого хакера, в которой он рассказывает о том, как Python стал его любимым языком программирования. Также я выяснил, что привязки PyQt были более зрелыми по сравнению с Perl-Qt. Так я определился с выбором в пользу Python. После этого я начал искать хорошую книгу по Python. И не нашёл! Конечно, я нашёл несколько книг O'Reilly, но они были либо слишком дорогими, либо больше походили на справочник, нежели на учебник. Так что мне пришлось довольствоваться документацией, поставляемой в комплекте с Python. Но она оказалась слишком краткой и неполной. Безусловно, она дала мне некоторое представление о том, что такое Python, но этого было явно недостаточно. Мне её хватало, поскольку я имел предыдущий опыт программирования, но она никоим образом не подходила для новичков. Примерно через пол года после моих первых шагов в Python я установил последнюю (на тот момент) версию Red Hat Linux 9.0 и начал играться с KWord. Я был в восторге от него, и вдруг мне пришло в голову написать в нём некоторые мысли о Python. Я рассчитывал написать несколько страниц, но объём быстро вырос до 30 страниц. Тогда я решил всерьёз придать этому тексту форму книги. После *множества* переписываний она достигла того состояния, в котором она уже могла служить полезным пособием по изучению языка Python. Я смотрю на свою книгу как на свой вклад и дань сообществу свободного ПО. Эта книга была начата как мои личные заметки о Python, и я до сих пор смотрю на неё так же, хотя и приложил немало усилий к тому, чтобы сделать её более подходящей для других :) И конечно, в духе свободного ПО, я получил множество конструктивных предложений, критики и :ref:`отзывов ` от читателей, которые помогли мне значительно улучшить книгу. Состояние книги --------------- В октябре 2012 года были внесены некоторые исправления, обновления, а также по просьбам нескольких пользователей страницы этой книги были переформатированы при помощи Pandoc для того, чтобы сделать возможным автоматическое генерирование электронных книг на их основе. В редакции за декабрь 2008 года (по сравнению с предыдущим серьёзным пересмотром в марте 2005 года) были добавлены сведения, связанные с выходом Python 3.0. Эта книга нуждается в помощи своих читателей по обнаружению не очень хорошо, не очень понятно или попросту неверно написанных частей. Если у вас есть такие предложения, пожалуйста, обращайтесь `к самому автору книги `_ или :ref:`к автору перевода `, который вы читаете. Официальная веб-страница ------------------------ Официальная страница этой книги находится по адресу http://www.swaroopch.com/notes/Python , где вы можете прочитать саму книгу, скачать её последнюю версию, `купить её печатный вариант `_ и оставить свои отзывы. К размышлению ------------- "Существует два способа составления программ: первый состоит в том, чтобы сделать её настолько простой, чтобы в ней явно не было ошибок; второй -- в том, чтобы сделать её настолько сложной, чтобы в ней не было явных ошибок." -- C. A. R. Hoare | "Успех в жизни -- не столько вопрос таланта и возможностей, сколько концентрации и настойчивости." -- C. W. Wendte