Что дальше

Добросовестный читатель, дочитавший книгу до сих пор, а также много практиковавшийся в написании программ, наверняка уже освоился с Python. И конечно, вы уже попробовали реализовать какие-нибудь собственные идеи на Python, чтобы потренироваться. Нет? Тогда стоит начать! Но в таком случае возникает вопрос: "Что же делать дальше?".

Я предлагаю вам справиться со следующей задачей.

Создайте собственную программу Адресная книга, работающую из командной строки и позволяющую просматривать, добавлять, изменять, удалять или искать контактные данные ваших знакомых. Кроме того, эта информация также должна сохраняться на диске для последующего доступа.

Это достаточно простая задача, если думать о ней в терминах, которые мы до сих пор проходили. Если же вы всё-таки нуждаетесь в подсказке, как действовать, вот она. 1.

Как только вы справитесь с этим, вы смело можете называться программистом на Python. А теперь немедленно напишите мне письмо ;-). Это не обязательный шаг, но весьма рекомендуемый. Также подумайте о покупке бумажной версии книги, чтобы поддержать её дальнейшую разработку.

Если эта задачка показалась вам слишком лёгкой, попробуйте ещё одну:

Реализуйте команду replace. Эта команда заменяет одну строку другой в списке переданных ей файлов.

Команда replace может быть любой желаемой сложности: от простой замены строк до поиска по шаблону (регулярному выражению).

Следующие проекты

Если вы нашли вышеприведенные программы легкими для создания, то посмотрите на этот полный список проектов и попробуйте написать свои собственные программы: https://github.com/thekarangoel/Projects#numbers (этот же список находится на Martyr2's Mega Project List).

Также смотри:

Примеры программ

Лучший способ овладеть языком программирования – это писать много программ и читать много программ:

  • Python Cookbook - это чрезвычайно ценная коллекция рецептов или советов по решению определенных проблем с помощью Python. Это обязательное чтение для каждого пользователя Python.
  • Python Module of the Week - еще одно превосходное руководство по Стандартной библиотеке.

Советы

Видео

Вопросы и ответы

Учебники

Обсуждение

Если вы застряли на какой-то проблеме в Python и не знаете, кого спросить, тогда список рассылки python-tutor подойдёт наилучшим образом.

Обязательно сделайте домашнее задание, сначала попытавшись решить проблему самостоятельно, и задавайте умные вопросы.

Новости

Если вас интересуют последние новости мира Python, отслеживайте их на Официальной Планете Python.

Установка библиотек

В Каталоге пакетов Python существует колоссальное количество открытых библиотек, которые вы можете использовать в своих программах.

Для их установки можно воспользоваться pip.

Создание веб-сайта

Изучите Flask, чтобы создать свой собственный веб-сайт. Некоторые ресурсы для начала работы:

Графические программы

Для создания собственной графической программы на Python понадобится какая-нибудь библиотека ГИП (графического интерфейса пользователя) со своими привязками к Python. Привязки позволяют писать программу на Python, используя библиотеки, которые сами по себе написаны на C, C++ или других языках.

Выбор ГИП для Python достаточно обширен:

  • Kivy

  • PyGTK

    • Это привязки Python к инструментарию GTK+, на основе которого построен GNOME. У GTK+ есть много своих особенностей, но как только вы освоитесь, вы сможете создавать ГИП очень быстро. Что касается дизайнера графического интерфейса Glade, то он просто незаменим. Документация же всё ещё требует некоторых улучшений. GTK+ хорошо работает в GNU/Linux, но его порт на Windows пока не закончен. При помощи GTK+ можно создавать как свободные, так и проприетарные программы. Для начала прочитайте Учебник по PyGTK.
  • PyQt

    • Это привязки Python к инструментарию Qt, на основе которого построена KDE. Qt чрезвычайно прост в использовании, особенно благодаря Qt Designer и изумительной документации Qt. PyQt бесплатно, если используется для создания свободных программ (с лицензией GPL). Для создания закрытых проприетарных программ вам придётся его купить. Начиная с Qt 4.5, разрешается создавать при помощи него не только GPL’ные программы. Для начала прочитайте о PySide.
  • wxPython

    • Это привязки Python к инструментарию wxWidgets. wxPython не так прост в освоении, но зато он переносим и работает на GNU/Linux, Windows, Mac и даже на встраиваемых платформах. Многие среды разработки для wxPython, такие как SPE (Stani's Python Editor) и wxGlade включают дизайнеры графического интерфейса. При помощи wxPython можно создавать как свободные, так и проприетарные программы. Для начала прочитайте учебник по wxPython.

Резюме по инструментам ГИП

Другие варианты можно найти на wiki-странице GuiProgramming официального сайта Python.

К сожалению, не существует некоего единого стандартного инструмента для создания графических программ на Python. Я бы рекомендовал выбирать один из инструментов, описанных выше, наиболее подходящий для конкретной ситуации. Во-первых, определитесь, согласны ли вы платить за использование этого инструмента. Во-вторых, определитесь, на каких платформах должна работать ваша программа: только на Windows, на Mac и GNU/Linux или на всех сразу. И в-третьих, если вы выбрали платформу GNU/Linux, то в какой среде вы работаете: в KDE или GNOME.

Для более подробного анализа см. страницу 26 Статей о Python, Том 3, Выпуск 1.

Различные реализации

Язык программирования обычно состоит из двух частей: собственно языка и программного обеспечения. Язык – это то, как мы что-либо пишем, а программное обеспечение – это то, что запускает наши программы.

До сих пор для выполнения наших программ мы использовали CPython. Он называется "CPython", потому что написан на языке C и является Классическим интерпретатором Python2.

Но существует и другое программное обеспечение, способное выполнять программы на Python:

  • Jython

    • Реализация Python, работающая на платформе Java. Это означает, что можно использовать библиотеки и классы Java в программе на Python и наоборот.
  • IronPython

    • Реализация Python, работающая на платформе .NET, что означает возможность использования библиотек и классов .NET в программах на Python и наоборот.
  • PyPy

    • Реализация Python, написанная на Python! Это исследовательский проект, существующий для ускорения и облегчения разработки интерпретатора, поскольку сам интерпретатор написан на динамическом языке (в отличие от статических языков, как C, Java и C# в вышеупомянутых реализациях)

Существуют и другие реализации, такие как CLPython – написанная на Common Lisp и Brython – реализация поверх интерпретатора JavaScript, что означает, что вы можете использовать Python (вместо JavaScript) для написания программ для веб-браузера ("Ajax").

Каждая из перечисленных реализаций имеет свою область применения.

Функциональное программирование (для хорошо подготовленных читателей)

Для написания больших программ определённо необходимо изучить функциональный подход к программированию, в отличие от объектно-ориентированного подхода, который мы проходили в разделе Объектно-ориентированное программирование:

Резюме

Вот мы и подошли к концу нашей книги, но как говорится, это только начало конца! Теперь вы заядлый программист на Python, и несомненно, готовы решать множество задач при помощи Python. Теперь вы можете начать автоматизировать на своём компьютере всё подряд, можете писать собственные игры и многое-многое другое. Так что вперёд!


1. Создайте класс для хранения персональных данных. Объекты визитных карточек храните в словаре, в котором имена контактов будут служить ключами. Для длительного хранения этих объектов на жёстком диске воспользуйтесь модулем pickle. Для добавления, изменения или удаления контактов применяйте встроенные методы словаря.
2. Classical Python interpreter (прим.перев.)

results matching ""

    No results matching ""