Знайомство з мовою Python
У всьому є своя мораль,
треба лише вміти її знайти!
Л. Керролл. "Аліса в Країні Див"* У цій книзі йтиметься про те, як писати програми на мові програмування, яка називається Python (правильно читається як пайтон, але зазвичай назву мови читають як пітон, що теж цілком припустимо). Отже, розв’язувати будемо два завдання, одне з яких пріоритетне, а друге, хоч і допоміжне, проте досить важливе. Наше основне завдання — звичайно ж, вивчення синтаксису мови програмування Python. Паралельно ми будемо освоювати ази програмування, явно чи неявно беручи до уваги, що відповідні алгоритми передбачається реалізовувати мовою Python.
S Навіть якщо у читача є досвід програмування іншими мовами, не варто
ставитися поверхнево чи зверхньо до процесу побудови алгоритму програми. Правила хорошого тону в програмуванні передбачають, що написання
програми починається задовго до набирання програмного коду. Непогано взяти аркуш паперу й накреслити загальну схему виконання програми.
Адля цього процедуру розв’язання великої та складної задачі варто розбити
на послідовність простих дій. З одного боку, цей процес універсальний. З іншого — ті задачі, які ми назвали вище “простими”, розв’язуються за допомогою базових команд або функцій мови програмування, якою збираються
складати програму. Тому, обмірковуючи алгоритм, цілком абстрагуватися від
конкретних можливостей мови програмування навряд чи вийде. Ураховуючи ж гнучкість й ефективність мови програмування Python, слід визнати, що
алгоритми навіть “класичних” задач, реалізуючись на Python, стають простішими й зрозумілішими. Іншими словами, навіть якщо читач має досвід * Тут і далі епіграфи подаються у перекладі автора. Вступ
складання алгоритмів, знайомство з мовою програмування Python дозволить йому побачити багато знайомих речей зовсім по-іншому. Узагалі, мов програмування доволі багато. Більше того, час від часу з’являються нові. Тому природно виникає запитання: чому саме Python? Наша відповідь буде складатися з декількох пунктів.
● Мова програмування Python — мова високого рівня, досить
“молода”, проте дуже популярна, яка вже зараз широко використовується на практиці, і сфера застосування Python постійно розширюється.
S Щодо мов програмування нерідко застосовують такі вирази, як мова високого рівня, мова середнього рівня або мова низького рівня. Ця класифікація досить умовна й базується на рівні абстракції мови. Адже мова,
якою розмовляють люди, дещо відрізняється від тієї “мови”, яку “розуміють”
комп’ютери. Команда, написана простою людською мовою, буде зовсім
неприйнятною для комп’ютера. Команда, готова до виконання комп’ютером ( машинний код), буде незрозумілою для більшості простих смертних.
Тому вибирати доводиться між Сциллою та Харибдою. Про мови, орієнтовані
на програміста, говорять, що ці мови високого рівня. Про мови, орієнтовані
на комп’ютер, говорять, що ці мови низького рівня. Проміжна група мов
називається мовами середнього рівня. Хоча ще раз підкреслимо, що поділ
цей досить умовний.
● Синтаксис мови Python мінімалістичний і гнучкий. Цією мовою можна складати прості й ефективні програми.
● Стандартна бібліотека для цієї мови містить багато корисних
функцій, що значно полегшує процес створення програмних
кодів.
● Мова Python підтримує декілька парадигм програмування,
включаючи структурне, об’єктно-орієнтоване й функціональне програмування. І це далеко не весь список.
● Мова Python — цілком вдалий вибір, як для першої мови
в навчанні програмуванню.
Існують й інші причини, щоб вивчити мову програмування Python, можливо, навіть вагоміші за перераховані вище. Про деякі ми ще будемо говорити (у контексті особливостей мови програмування Python). У всякому разі, тут будемо виходити з того, що читач для себе ухвалив Phyton рішення про вивчення мови Python або, принаймні, цікавиться цією мовою програмування.
S Парадигма програмування — це найзагальніша концепція, яка визначає
фундаментальні характеристики й базові методи реалізації програмних кодів. Наприклад, парадигма об’єктно-орієнтованого програмування (скорочено ООП) передбачає, що програму реалізують через набір взаємодіючих
об’єктів, які, у свою чергу, зазвичай створюються на основі класів. У рамках
структурного програмування програма є комбінацією даних і процедур
(функцій) для їх обробки. Мова може підтримувати одразу декілька парадигм. Так, мови Java і C# — повністю об’єктно-орієнтовані, тому для написання найменшої програми цими мовами доведеться описати, як мінімум,
один клас. У мові C підтримується парадигма структурного програмування,
тому класів й об’єктів у мові C немає. Зате вони є в мові C++. Остання підтримує як парадигму об’єктно-орієнтованого програмування, так і парадигму
структурного програмування. Як наслідок, під час роботи з мовою C++ класи
й об’єкти можна використовувати, а можна й не використовувати залежно
від потреб програміста й специфіки задачі, яку розв’язують. Це ж зауваження стосується й мови Python: із одного боку, під час написання програми
мовою Python у нас є можливість удатися до потужного арсеналу об’єктноорієнтованого програмування, а з іншого боку, часто бувають прийнятними
й методи структурного програмування.
Існують й інші, більш витончені концепції програмування. Скажімо, парадигма функціонального програмування припускає, що результат функції в програмі визначається виключно значеннями аргументів, переданих функції,
і не залежить від стану зовнішніх (стосовно функції) змінних. Відповідні
функції прийнято називати чистими функціями, і вони мають ряд корисних
властивостей, що дозволяють істотно оптимізувати й прискорити обчислювальний процес. Ця концепція, як і ряд інших, знаходить реалізацію в мові
Python. Далі обговоримо деякі важливі моменти й “підводне каміння”, яке може зустрітися на подекуди важкому, та все ж цікавому й захопливому шляху опанування новими вершинами у програмуванні.
Коротка історія та особливості
мови Python
Серйозне ставлення до будь-чого
в цьому світі є фатальною
помилкою.