5 способів вивчити Python

04 травня 2017 15:45 malinnizuki 1720 3

Пайтон - гнучка мова програмування. Ви можете використовувати її для розробки веб-застосунків, алгоритмів у машинному навчанні і навіть для розробки безпілотних літальних апаратів.

Але спочатку вам потрібно її вивчити. Вивчення будь-якої мови програмування може спочатку здаватися страшним. Сам я вважаю, що Пайтон - найлегша для вивчення мова програмування, хоча іноді можуть зустрічатись деякі складнощі.

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

Це відбивало моє бажання засвоїти Пайтон, тому я навіть відклав заплановане на декілька місяців. Я пройшов декілька уроків на Codecademy і на цьому все закінчилось. Я дивився на код, але він був для мене незрозумілим:

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

Код, наведений зверху, було взято з документації по Django, популярного фреймворку на Пайтоні для розробки веб-сайтів. Досвідчені розробники будуть часто показувати такі фрагменти коду. "Це просто!", - скажуть вони. Але навіть декілька на вигляд простих рядків коду можуть бути надзвичайно незрозумілими. Наприклад, чому деякі рядки з відступом? Що таке django.http? Чому деякі елементи знаходяться у дужках? Зрозуміти, як усе працює, коли ви не знаєте Пайтону, дуже важко.

Ви повинні розуміти будівельні блоки у мові програмування Пайтон, щоб розробляти будь-що, що вас цікавить. Код раніше створює представлення, яке є одним з ключових будівельних блоків веб-сайту, який використовує популярну архітектуру MVC. Якщо ви не знаєте, як писати код, щоб створити представлення, то створити динамічну веб-сторінку майже неможливо.

Більшість туторіалів припускають, що ви повинні вивчити весь синтаксис мови Пайтон перед тим, як ви почнете робити щось цікаве. Це те, що веде до місяців, витрачених на синтаксис, хоча насправді ви хотіли вивчати аналіз даних, розробку веб-сайтів, або програмування безпілотних літальних апаратів. А це в свою чергу приводить до втрати мотивації.

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

1. Зрозумійте, що вас мотивує

Перед тим, як вивчати Пайтон, важливо спитати себе, чому ви хочете вивчити цю мову програмування. Тому що попереду вас чекає довга та іноді болісна мандрівка. Без достатньої мотивації у вас не вийде досягнути бажаного. Наприклад, я проспав уроки програмування у школі, я не був достатньо мотивованим. Але коли мені був потрібен Пайтон для створення веб-сайту, щоб автоматично оцінювати ессе, я витрачав ночі, щоб це зробити.

Розуміння того, що саме вас мотивує, допоможе вам зрозуміти ціль та спосіб її досягнення краще.

Оберіть собі галузь, яка вас цікавить, наприклад:

  • Наука про дані / Машинне навчання

  • Мобільні застосунки

  • Веб-сайти

  • Ігри

  • Апаратні засоби / Сенсори / Роботи

  • Скрипти для автоматизації вашої роботи

enter image description hereТак, ви можете робити роботів використовуючи Пайтон!

Оберіть одну або дві галузі, які вас цікавлять та якими ви хочете займатись.

2. Вивчіть основний синтаксис

Нажаль, цей процес все одно потрібний. Вам потрібно знати мінімальну базу синтаксису Пайтону перед тим, як заглибитись у галузь, яку ви обрали. Я це вивчав на Codecademy і їх курсу вистачило.

Декілька гарних ресурсів для вивчення:

  • Codecademy - добре навчає загальному синтаксису

  • Learn Python the Hard Way - книга,яка навчає концептції, з основ до більш складних програм

  • Dataquest - цей ресурс навчає синтаксису, при цьому навчаючи науці про дані. Наприклад, ви дізнаєтесь про безкінечні цикли, коли будете аналізувати дані про погоду.

  • The Python Tutorial - офіційна документація.

Чим раніше ви почнете працювати над проектами, тим швидше ви чомусь навчитеся. Ви завжди можете повернутися до вивчення синтаксису, якщо це буде потрібно.

3. Розробляйте структуровані проекти

Після того, як ви засвоїте базовий синтаксис, можна вже починати самому робити проекти. Це чудовий спосіб навчитися будь-чому, так як вони дають змогу використовувати ваші знання на практиці. Завдяки проектам ви зможете дізнатись і про нові речі, а також зформувати собі портфоліо для подальшого пошуку роботи.

Але занадто "вільні" проекти можуть бути проблемою для вас, так як багато речей для вас будуть занадто незрозумілими. Тому, краще підбирати більш структуровані проекти, поки ви не відчуєте, що знаєте достатньо, щоб створювати щось своє.

Є достатньо ресурсів, які пропонують теми структурованих проектів.

Наука про дані / Машинне навчання

  • Dataquest - Інтерактивно навчає мові програмування Пайтон та науці про дані. Ви аналізуєте серії цікавих наборів даних, починаючи з документів Центрального розвідувального управління і закінчуючи статистикою гравцій Національної баскетбольної асоціації. Ви тако будете розробляти комплексні алгоритми, які включають нейронні мережі та дерева рішень.

  • Python for Data Analysis - Книга, написана автором багатьох робіт про аналіз даних на Пайтон.

  • Scikit - документація - Основна бібліотека машинного навчання на Пайтоні.

  • CS109 - Курси від Гарвардського Університету по науці про дані.

Мобільні застосунки

  • Kivy документація - Kivy - це інсрумент для рощробки мобільних застосунків на Пайтон. Документація на офіційому сайті є непоганим гайдом.

Веб-сайти

  • Flask документація - Flask - це популярний фреймворк на Пайтон.

  • [Bottle документація] (http://bottlepy.org/docs/dev/tutorial_app.html) - Ще один популярний фреймворк на Пайтон.

  • How to Tango With Django - Гарний гайд по використанню Django, комплексного веб-фреймворку на мові Пайтон.

Ігри

Python

Апаратні засоби / Сенсори / Роботи

Скрипти для автоматизації вашої роботи

Після того, як ви зробите декілька структурованих проекти в галузі, яка вам сподобалась, ви будете в змозі розробляти свої проекти. Але, перед цим, вам потрібно навчитися разв'язувати деякі проблеми.

4. Працюйте над вашими власними проектами

Ви все одно зустрінете багато чого нового, але ви будете працювати над тим, над чим ви справді хочете працювати. Але перед усим цим, вам слід навчитися обробляти помилки у ваших програмах. Ось деякі корисні ресурси:

  • StackOverflow – Сайт з питаннями та відповідями, де люди обговорюють проблеми при програмуванні. ви можете знайти питання, які стосуються мови програмування Пайтон тут.

  • Google – Найпопулярніший ресурс серез програмістів.

  • Документація Python – Чудове місце для знаходження довідкового матеріалу по Пайтон.

Декілька порад для знаходження цікавих проектів:

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

  • Беріть участь у Пайтон-мітапах по вашій галузі і знаходьте людей, які працюють над цікавими проектами.

  • Знайдіть відкриті проекти та робіть свій вклад у них.

  • Знайдіть проекти, які були зроблені іншими людьми, та спробуйте розширити їх. Github є чудовим ресурсом для їх знаходження.

  • Слідкуйте за блогами інших людей, щоб породити нові ідеї щодо проектів.

  • Придумуйте інструменти, які б могли полегшити ваше життя, та розробляйте їх.

Пам'ятайте, що краще братись за малий проект і бути впевненим у тому, що ви його закінчите, аніж братися за великий проект і не зробити його.

Також гарною практикою вважається знаходити інших людей для співпраці і більшої мотивації.

Якщо у вас немає ніяких ідей щодо проектів, ось вам декілька тем для обговорення:

Наука про дані / Машинне навчання

  • Карта, яка візуалізує результати виборів по штатам.

  • Алгоритм, який передбачає погоду в області, де ви проживаєте.

  • Інструмент, який передбачає фондову біржу.

  • Алгоритм, який автоматично сумує новини.

Python

Мобільні застосунки

  • Застосунок, який слідкує за тим, скільки в пройшли пішки коден день.

  • Застосунок, який надсилає вам повідомлення про погоду.

  • Чат, який базується на локації, у якій ви знаходитесь.

Веб-сайти

  • Сайт, який допомагає вам планувати режим харчування щотижня.

  • Сайт, який дає змогу користувачам рецензувати відео-ігри.

  • Платформа для створення нотаток.

Ігри

  • Мобільна гра на основі локації, у якій ви захоплюєте території.

  • Гра, у якій ви програмуєте, щоб скласти пазл.

Апаратні засоби / Сенсори / Роботи

  • Сенсори, які займються моніторингом кімнатної температури та дають вам змогу переглядати усю інформацію дистанційно.

  • Розумний будильник.

  • Самокерований робот, який виявляє перешкоди.

Скрипти ля автоматизації вашої роботи

  • Скрипт, який автоматизує ввід даних.

  • Інструмент, який знаходить дані з інтернету.

Головне обрати щось і працювати над цим.

5. Ускладнюйте проекти, над якими ви працюєте

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

Ось декілька ідей на такимй випадок:

  • Спробуйте навчити когось розробляти проект, який ви щойно зробили.

  • Чи можете ви розширити функціональність вашого інструменту? Чи може він працювати з більшою кількістю даних?

  • Чи можете ви покращити вашу програму так, щоб вона працювала швидше?

  • Чи можете ви зробити ваш інструмент корисним для більшої аудиторії користувачів?

  • Чи можете ви отримати прибуток з того, що ви тільки що розробили?

Джерело перекладу

1720 6

Схожі матеріали:

Коментарі:

Victor Avgust

05 Тра 2017 00:01

Надихає! Хоча з PHP злізти по роботі не легко, але для себе цікаво.

ping

05 Тра 2017 09:02

навчитися плавати , читаючи книжки по техніці плавання - неможливо.
але читати їх паралельно з навчання в басейні - дуже корисно.
так і з вивченням програмування.

beardog-ukr

15 Тра 2017 10:48

Ви повернулись? Якшо шо, можна статті надсилати?

Авторизуйтесь, щоб залишити коментар.