Идиома Python (Python Trick) — короткий фрагмент исходного кода на Python, используемый как инструмент обучения. Идиома Python обучает отдельному свойству языка Python путем простой иллюстрации либо служит в качестве мотивирующего примера, который дает возможность копнуть глубже и развить интуитивное понимание.
Книга «Чистый Python. Тонкости программирования для профи» началась как серия скриншотов с фрагментами кода, которыми я делился в Твиттере в течение одной недели. К моему удивлению, они получили отклики, а потом еще несколько дней подряд их продолжали распространять и ретвитить.
Разработчики все чаще и чаще стали обращаться ко мне с вопросом, как «получить всю серию». На самом деле у меня на очереди было еще лишь несколько таких идиом, которые охватывали целый ряд тем, связанных с Python. И за ними не было никакого плана. Они были просто забавным экспериментом в Твиттере.
Но из этих запросов я понял то, что мои краткие и четкие примеры кода стоит рассматривать и как инструмент для обучения. В конце концов я занялся созданием еще ряда идиом Python и начал ими делиться в серии почтовых рассылок. В течение нескольких дней на мою рассылку подписались несколько сотен разработчиков на Python, и я был просто в восторге от этого.
В следующие дни и недели ко мне нескончаемым потоком стали обращаться разработчики на Python. Они благодарили за то, что я довел до них ту часть языка, которая оставалась для них камнем преткновения. Ощущение от этих отзывов было потрясающим. Я-то считал, что эти идиомы Python являлись простыми снимками экрана с примерами кода, но оказалось, что для многих людей они стали неоценимой помощью.
Именно тогда я решил удвоить ставку на моем эксперименте с идиомами Python и довел его до серии из порядка 30 электронных сообщений. Каждое из них представляло собой заголовок и снимок экрана с примером, и вскоре я осознал пределы этого формата. Примерно в ту же пору на мой электронной ящик пришло письмо от незрячего разработчика на Python, разочарованного тем, что эти идиомы поставлялись как изображения, которые он не мог прочитать с помощью экранного диктора.
Стала очевидной необходимость уделить этому проекту больше времени, чтобы сделать его привлекательнее и доступнее для более широкой аудитории. Так что я засел за воссоздание всей серии электронных сообщений с идиомами Python в текстовом формате и с надлежащей подсветкой синтаксиса на основе HTML-разметки. Переиздание моей книги о Python было встречено одобрительно. По откликам я понял, что разработчики обрадовались тому, что наконец смогли копипастить примеры кода и экспериментировать с ними.
По мере того как все больше разработчиков подписывалось на электронную рассылку этой серии, я начал замечать закономерности в откликах и вопросах, которые я получал. Некоторые идиомы хорошо работали именно в качестве мотивационных примеров. Однако что касается более сложных из них, то не хватало рассказчика, который направлял бы читателей или подсказывал им дополнительные ресурсы, где можно было бы расширить свое понимание.
Скажем так: этот аспект был еще одной большой областью для улучшения. Основная задача моего веб-сайта dbader.org состоит в том, чтобы помогать разработчикам на Python становиться еще более потрясающими, — и очевидно, что этот аспект предоставлял возможность приблизиться к этой цели.
Я решил взять из своего почтового курса самые лучшие и самые ценные трюки и идиомы и на их основе приступил к написанию книги нового типа по Python:
• книги, которая обучает самым крутым аспектам языка с помощью коротких и легких для усвоения примеров;
• книги, в которой хранятся потрясающие функциональные средства языка Python (класс!) и которая поддерживает мотивацию на высоком уровне;
• книги, которая берет вас за руку, ведет по правильному пути и помогает углубить свое понимание языка Python.
Для меня эта книга — результат моих любимых занятий и большой эксперимент. Надеюсь, что вы получите удовольствие от ее прочтения и по ходу узнаете еще что-то о Python!
— Дэн Бейдер
Цель этой книги в том, чтобы сделать вас лучшим — более эффективным, более осведомленным, более практичным — разработчиком на языке Python. Вы, вероятно, задаетесь вопросом: а как чтение этой книги поможет мне всего этого достигнуть?
«Чистый Python» — это не пошаговое учебное пособие по Python. И это не курс языка Python начального уровня. Если вы находитесь на начальных стадиях изучения этого языка, то в одиночку эта книга не превратит вас в профессионального разработчика на Python. Ее чтение, безусловно, окажет на вас благотворное влияние, но при этом вам обязательно нужно поработать с другими ресурсами, которые сформируют ваши основополагающие навыки программирования на Python.
Вы извлечете из этой книги максимальную пользу, если в той или иной степени владеете языком Python и хотите перейти на следующий уровень. Она прекрасно поможет, если вы уже некоторое время программируете на Python и готовы пойти дальше, чтобы придать своим познаниям законченный вид и сделать свой программный код более питоновским.
Чтение книги «Чистый Python. Тонкости программирования для профи» также окажет бесценную помощь, если у вас уже имеется опыт работы с другими языками программирования и вы надеетесь поскорее разобраться в тонкостях языка Python. Вы обнаружите массу практических советов и шаблонов проектирования, которые сделают вас более эффективным и квалифицированным программистом на Python.
Оптимальный способ чтения книги «Чистый Python. Тонкости программирования для профи» — рассматривать ее как копилку потрясающих функциональных средств языка Python. Каждая приводимая в книге идиома Python — самодостаточна, и поэтому ничего страшного, если вы будете обращаться к тем из них, которые вызывают у вас наибольший интерес. На самом деле именно это я вам и рекомендую делать.
Разумеется, вы также можете прочитать всю книгу «Чистый Python. Тонкости программирования для профи» от начала до конца. И когда вы дойдете до заключительной страницы, вы не пропустите ни одной идиомы и шаблона и будете знать, что ознакомились со всем.
Некоторые из этих идиом легко понять сразу, и вы не испытаете никаких затруднений при их внедрении в повседневную работу, просто прочитав главу. Чтобы разобраться в других идиомах, может потребоваться немного больше времени.
Если вы испытываете затруднения в том, чтобы та или иная идиома заработала в ваших программах, то, как правило, помогает возможность поэкспериментировать с каждым примером кода в сеансе интерпретатора Python.
Если и это не расставит все на свои места, то, пожалуйста, не стесняйтесь обращаться ко мне, чтобы я смог выручить вас и дать более подробное объяснение. В конечном счете это принесет пользу не только вам, но и всем питонистам, которые читают эту книгу.
Эта книга сопровождается коллекцией бонусных ресурсов, которые я называю «Тонкости Python: цифровой комплект инструментов».
Среди всего прочего этот комплект инструментов включает 12 видеоуроков HD-качества общей продолжительностью более двух часов. Эти видеопособия тесно связаны с отдельными главами книги и помогут вам быстрее усвоить и закрепить знания, акцентировав внимание на ключевых моментах.
Включенные в этот комплект инструментов ресурсы стоят 100 $, но при покупке этой книги вы получаете их без всякой дополнительной оплаты.
Доступ к копии цифрового комплекта инструментов можно получить онлайн на моем веб-сайте по адресу dbader.org/python-tricks-toolkit.
См.