Що далі#
Якщо ви до цього часу уважно прочитали цю книгу та практикували написання багатьох програм, то вам, мабуть, стало зручніше з Python. Ви, напевно, створили кілька програм на 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-tutor list”) — найкраще місце, щоб поставити свої запитання.
Переконайтеся, що ви виконали домашнє завдання, спробувавши спершу розв’язати задачу самостійно, і тільки потім поставити розумні запитання (англ.“ask smart questions”).
Новини#
Якщо вас цікавлять останні новини світу Python, відстежуйте їх на офіційній планеті Python.
Встановлення бібліотек#
англійська: Installing libraries
У Каталогу пакетів Python (англ.“Python Package Index”) є величезна кількість бібліотек з відкритим кодом, які ви можете використовувати у своїх програмах.
Щоб установити та використовувати ці бібліотеки, ви можете використовувати pip.
Створення сайту#
Вивчіть Flask, щоб створити власний веб-сайт. Деякі ресурси для початку:
Графічне програмне забезпечення#
англійська: Graphical Software
Припустімо, ви хочете створити власні графічні програми за допомогою Python. Це можна зробити за допомогою бібліотеки ГІК (графічного інтерфейсу користувача),
англійська: GUI -Graphical User Interface зі своїми прив’язками (англ.“bindings”) до Python.Прив’язки (англ.“bindings”) – це те, що дозволяє вам писати програми на Python і використовувати бібліотеки, які самі написані на C або C++ або іншими мовами.
Є багато варіантів для GUI з використанням Python:
Kivy
http://kivy.org
PyGTK
Це прив’язка Python до набору інструментів GTK+, на основі якого побудовано GNOME. GTK+ має багато особливостей у використанні, але як тільки ви навчитеся, ви зможете швидко створювати програми з графічним інтерфейсом. Конструктор графічного інтерфейсу Glade незамінний. Документацію ще потрібно покращити. GTK+ добре працює на GNU/Linux, але його перенесення на Windows не завершено. За допомогою GTK+ можна створювати як вільні, так і пропрієтарні програми. Щоб почати, прочитайте PyGTK tutorial.
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 tutorial.
Резюме з інструментів ГІК#
англійська: GUI Summary of GUI Tools
Щоб дізнатися більше, перегляньте wiki-сторінці GuiProgramming офіційного сайту Python .
На жаль, для Python не існує жодного стандартного графічного інструменту. Я пропоную вам вибрати один із наведених вище інструментів залежно від вашої ситуації. Перший фактор полягає в тому, чи готові ви платити за використання будь-якого інструменту GUI. Другий фактор полягає в тому, чи хочете ви, щоб програма запускалася лише на Windows, чи на Mac і GNU/Linux, чи на всіх. І по-третє, якщо ви вибрали платформу GNU/Linux,то в якому середовищі ви працюєте: у KDE чи у GNOME.
Для більш детального та всебічного аналізу див. сторінку 26 ‘The Python Papers, Volume 3, Issue 1’ (PDF).
Різні реалізації#
англійська: Various Implementations
Зазвичай мова програмування складається з двох частин - мови та програмного забезпечення. Мова - це як ви щось пишете. Програмне забезпечення – це те, що запускає наші програми.
Ми використовували програмне забезпечення CPython для запуску наших програм. Його називають CPython, оскільки він написаний мовою C і є класичним інтерпретатором Python(англ.“Classical Python interpreter”).
Але існує й інше програмне забезпечення, здатне виконувати програми на Python:
-
Реалізація Python, яка працює на платформі Java. Це означає, що ви можете використовувати бібліотеки та класи Java в програмі Python і навпаки.
-
Реалізація Python, яка працює на платформі .NET,що означає можливість використання бібліотек та класів .NET в програмах Python і навпаки.
-
Реалізація Python, написана на Python! Це дослідницький проект, спрямований на те, щоб швидко та легко вдосконалити інтерпретатор, оскільки сам інтерпретатор написаний динамічною мовою (на відміну від статичних мов, таких як C, Java або C# у трьох наведених вище реалізаціях).
Існують також інші реалізації, такі як CLPython – реалізація Python, написана мовою Common Lisp і Brython, яка є реалізацію поверх інтерпретатора JavaScript, що може означати, що ви можете використовувати Python (замість JavaScript) для написання програм веб-браузера («Ajax»).
Кожна з цих реалізацій має свої спеціальні області, де вони корисні.
Функціональне програмування (для досвідчених читачів)#
Коли ви починаєте писати більші програми, вам обов’язково слід дізнатися більше про функціональний підхід до програмування на відміну від підходу до програмування, що базується на класах, про який ми дізналися в розділі про об’єктно-орієнтоване програмування:
Резюме#
Ми підійшли до кінця цієї книги, але, як кажуть, це початок кінця! Тепер ви затятий користувач Python і, без сумніву, готові вирішити багато проблем за допомогою Python. Ви можете почати автоматизувати свій комп’ютер, щоб робити всі види раніше немислимих речей або писати власні ігри та багато іншого. Отже, починайте!