З чого почати вивчати Python?
Як освоїти синтаксис, налаштувати середовище, практикуватися та почати заробляти.
Python - одна з найпопулярніших мов програмування. На ньому розробляють алгоритми машинного навчання, збирають та аналізують дані про клієнтів у великих компаніях, пишуть ігри.
Давайте сьогодні розберемо, що потрібно знати на старті новачку.
Де використовується програма Python?
За задумом засновника мови Гвідо ван Россума, Python повинен був підвищити продуктивність розробників, які пишуть мовами С і С++. Однак завдяки своїй простоті мова швидко набула популярності серед програмістів й вийшла за рамки свого первісного призначення. За даними опитування Stackoverflow, у 2020 році нею користувалися понад 40% усіх опитаних розробників. Найчастіше мова застосовується у веб-розробці, аналізі великих даних та машинному навчанні. Крім того, на Python пишуть сценарії для комп'ютерних ігор (наприклад, World of Tanks та EVE Online).
У рейтингу TIOBE, який формується на основі пошукових запитів, що включають згадку про мови, Python займає перше місце серед найбільш затребуваних мов поряд з Java і С.
У мови є власне зведення правил, так званий «дзен Python», написаний американським розробником Тімом Петерсом. Одне з правил звучить так: «Має існувати один – і бажано лише один – очевидний спосіб зробити це». Це правило добре визначає призначення мови: з його допомогою можна один раз вирішити завдання, а потім легко це автоматизувати.
Як вивчати Python?
Синтаксис
Почніть із вивчення синтаксису (правил, за якими пишуться команди) — насамперед прочитайте офіційну документацію. У мережі є багато хороших самовчителів для новачків.
Один із найпопулярніших - Computer Programming for Beginners: Fundamentals of Programming Terms and Concepts Натана Кларка. Книга написана простою мовою - вона допоможе розібратися в термінології, зрозуміти, що таке стани, оператори та функції, чим об'єктно-орієнтоване програмування, відрізняється від функціонального.
Докладніше про функції (частину програми, що виконує певне завдання) можна дізнатися з книги Марка Луца «Вивчаємо Python».
Для тих, хто вже засвоїв основи мови, але ще не вміє використати всі її можливості, буде корисною книга Лучано Рамальо «Python: до вершин майстерності». Автор розповідає про бібліотеки та засоби мови, а також демонструє прийоми, за допомогою яких код можна зробити коротшим і зрозумілішим.
Декілька корисних каналів з відеоуроками на YouTube:
Telusko – понад 100 відео, присвячених Python: від початкового до просунутого рівня.
Clever Programmer - відеоуроки з програмування, поради та рекомендації, як прокачати свої навички;
Python для начинающих – короткі відеоуроки, присвячені основам мови;
Python має кілька напрямків, тому стеки та технології, які потрібно знати новачку, залежать від спеціалізації. Наприклад, для веб-розробника-початківця необхідно насамперед знання фреймворків Django і Flask. Для дата-аналітики або дата-сайенс потрібно вміти працювати з бібліотеками, призначеними для обробки та аналізу даних: NumPy, Pandas, Sklearn, TensorFlow. Для розробки десктоп-програм в першу чергу важливо знати бібліотеку Tkinter і фреймворк PyQt5, для мобільної розробки - вміти працювати в середовищі Kivy, для розробки ігор - знати набір бібліотек Pygame.
Налаштування середовища розробки
Вивчивши синтаксис, можна розпочати писати код. Для цього завантажте та встановіть середовище розробки – IDE. Воно об'єднує кілька інструментів, призначених для розробки: редактор коду, інструменти для збирання, виконання та налагодження, а також систему контролю версій.
Базовий редактор - IDLE. Гвідо ван Россум назвав його в честь одного з акторів Монті Пайтона — Еріка Айдла. За допомогою цього середовища розробки можна переглядати, редагувати, запускати та налагоджувати програми на Python. IDLE поставляється разом із дистрибутивом. Завантажте і запустіть редактор і у вікні, що відкриється, можете починати писати код.
Практика: сервіси та сайти
Вирішуйте завдання. Їх можна взяти, наприклад, на проекті Ейлера – це некомерційний онлайн-проект, названий на честь знаменитого швейцарського математика Леонарда Ейлера. Проект (є російською та англійською мовою) об'єднує сотні тисяч любителів математики та програмування — учасники можуть вибрати одне із завдань та вирішити його за допомогою будь-якої відомої їм мови програмування, у тому числі за допомогою Python. Після того як учасник отримав правильну відповідь, він може обговорити та порівняти з іншими користувачами знайдені ним алгоритми та способи вирішення.
Беріть участь у іграх та квестах: наприклад, chekio – це гра із завданнями різних рівнів складності та вбудованим середовищем програмування або квест python challenge, у якому треба скласти алгоритм, щоб перейти до наступного кроку.
Напишіть власні прості програми. Наприклад, налаштувати автоматичне сортування файлів за папками або створити власний сервер.
Що далі?
Python-розробник — потрібна професія з високими зарплатами. Свої перші замовлення можна шукати на онлайн-біржах, наприклад, http://weblancer.net, workzilla, або в Telegram-каналах з віддаленою роботою (список таких ми підготуємо у окремій публікації на каналі).