1. Розпалювання апетиту

Якщо ви багато працюєте за комп’ютером, зрештою ви виявите, що є завдання, які ви хотіли б автоматизувати. Наприклад, ви можете виконати пошук і заміну у великій кількості текстових файлів або перейменувати та змінити порядок файлів фотографій у складний спосіб. Можливо, ви захочете написати невелику спеціальну базу даних, або спеціалізований додаток з графічним інтерфейсом користувача, або просту гру.

Якщо ви професійний розробник програмного забезпечення, можливо, вам доведеться працювати з кількома бібліотеками C/C++/Java, але звичайний цикл запису/компіляції/тестування/повторної компіляції занадто повільний. Можливо, ви пишете набір тестів для такої бібліотеки і вважаєте написання тестового коду виснажливим завданням. Або, можливо, ви написали програму, яка може використовувати мову розширення, і ви не хочете розробляти та впроваджувати абсолютно нову мову для своєї програми.

Python — це саме ваша мова.

You could write a Unix shell script or Windows batch files for some of these tasks, but shell scripts are best at moving around files and changing text data, not well-suited for GUI applications or games. You could write a C/C++/Java program, but it can take a lot of development time to get even a first-draft program. Python is simpler to use, available on Windows, Mac OS X, and Unix operating systems, and will help you get the job done more quickly.

Python простий у використанні, але це справжня мова програмування, яка пропонує набагато більше структури та підтримки для великих програм, ніж сценарії оболонки або пакетні файли. З іншого боку, Python також пропонує набагато більше перевірки помилок, ніж C, і, будучи мовою дуже високого рівня, він має вбудовані типи даних високого рівня, такі як гнучкі масиви та словники. Завдяки більш загальним типам даних Python застосовний до значно більшої проблемної області, ніж Awk або навіть Perl, але багато речей у Python принаймні так само прості, як і в цих мовах.

Python дозволяє вам розділити вашу програму на модулі, які можна повторно використовувати в інших програмах Python. Він постачається з великою колекцією стандартних модулів, які ви можете використовувати як основу своїх програм — або як приклади, щоб розпочати навчання програмуванню на Python. Деякі з цих модулів надають такі речі, як файловий ввід/вивід, системні виклики, сокети та навіть інтерфейси для наборів інструментів графічного інтерфейсу користувача, таких як Tk.

Python — це інтерпретована мова, яка може заощадити вам значний час під час розробки програми, оскільки не потрібні компіляція та зв’язування. Інтерпретатор можна використовувати в інтерактивному режимі, що дозволяє легко експериментувати з особливостями мови, писати одноразові програми або тестувати функції під час розробки програми знизу вгору. Це також зручний настільний калькулятор.

Python дозволяє писати програми компактно та зрозуміло. Програми, написані на Python, зазвичай набагато коротші, ніж еквівалентні програми на C, C++ або Java, з кількох причин:

  • типи даних високого рівня дозволяють виражати складні операції в одному операторі;

  • групування тверджень здійснюється за допомогою відступів замість початкових і кінцевих дужок;

  • не потрібні оголошення змінних або аргументів.

Python є розширюваним: якщо ви знаєте, як програмувати на C, ви можете легко додати нову вбудовану функцію чи модуль до інтерпретатора, щоб виконувати критичні операції з максимальною швидкістю або пов’язувати програми Python із бібліотеками, які можуть лише бути доступним у двійковій формі (наприклад, графічна бібліотека виробника). Коли ви справді захопитеся, ви зможете зв’язати інтерпретатор Python із програмою, написаною мовою C, і використовувати її як розширення або мову команд для цієї програми.

До речі, мова названа на честь шоу BBC «Летючий цирк Монті Пайтона» і не має нічого спільного з рептиліями. Посилання на сценки Monty Python у документації не тільки дозволено, але й заохочується!

Тепер, коли ви всі в захваті від Python, ви захочете вивчити його більш детально. Оскільки найкращий спосіб вивчити мову – це використовувати її, підручник запрошує вас грати з інтерпретатором Python під час читання.

У наступному розділі пояснюється механізм використання інтерпретатора. Це досить повсякденна інформація, але важлива для випробування прикладів, показаних пізніше.

Решта підручника знайомить із різними функціями мови та системи Python через приклади, починаючи з простих виразів, інструкцій і типів даних, через функції та модулі, і, нарешті, торкаючись розширених концепцій, таких як винятки та визначені користувачем класи.