Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Python
Code

Найкращий спосіб вивчити Python

by
Length:LongLanguages:
This post is part of a series called The Best Way to Learn... .
The Best Way to Learn JavaScript
The Best Way to Learn Ruby on Rails

Ukrainian (українська мова) translation by Dmitriy Sirosh (you can also view the original English article)

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

Але Python популярний не тільки тому, що він популярний. Його легко вчити, читається він як псевдокод і він дуже динамічний. Однак, вивчення нової мови може виявитися досить проблематичним заняттям, знайшовши правильне місце для навчання і людей від яких можна дізнатися нову інформацію, ви вирішите половину поставленого завдання. Наш путівник допоможе вам в цьому. Це буде ваш надійний план, який полегшить вивчення Python, зробить процес навчання веселим та цікавим.

Завдання 1: Почніть з основ

На момент написання цієї статті, існує дві основні версії Python: Python 2.7 та Python 3.2. Яку версію ви виберете для вивчення не так важливо, тому що розходження будуть мінімальними - особливо для новачка. Але вам варто знати, що Python 2 підтримує більше сторонніх бібліотек, в той час, як Python 3 в основному фокусується на розробників які працюють над поліпшенням мови. Вибір залишається за вами, але якщо код з будь-якого керівництва працює по-різному, переконайтеся, що ви використовуєте відповідну версію Python з цього керівництва.

Wikibooks Python керівництво для тих хто не знайомий з програмуванням

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

Офіційне керівництво Python

Ви не знайдете найкращого джерела інформації, ніж офіційна документація на сайті python.org. Проте, якщо ви хочете почати відразу звідси, це може виявитися поганою ідеєю.

Контент тут є більш технічним, ніж wikibooks, що в свою чергу виявиться корисним пізніше, у міру просування у вивченні мови. Для новачка зміст може здатися складним і це виявиться перешкодою у вивченні цієї простої та гарної мови програмування.

Для початківців найпомітнішою відмінністю Python 2 від Python 3 швидше за все буде можливість в Python 2 використовувати print без дужок. Дужки в Python 3 обов'язкові, на цьому, мабуть, все.

Завдання 2: Туторіали та скрінкасти

Керівництва з програмування на Python від TheNewBoston

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

Nettuts+ Python з нуля

Непоганим введенням в мову Python буде курс Жиль Лавелл. Як і у випадку з серією від TheNewBoston, Лавелл  припускає, що у вас немає досвіду в програмуванні.

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

У цьому скрінкасті ви створите динамічний веб-сайт з нуля, використовуючи Python фреймворк Django.

Скрінкасти по Python від ShowMeDo

StackOverflow відомий не тільки новачками, помилками та проблемами.

ShowMeDo володіє величезним каталогом відео які відносяться до Python. Хоча може здатися, що на сайті не найкращий користувацький інтерфейс, але там знаходиться величезний набір корисних відео, як інформація для новачків, так і найпередовіші методи використання Python. Вам обов'язково варто ознайомитися з цим сайтом.

Створіть Python бота, який може грати у веб-ігри

У цьому керівництві ви познайомитеся зі специфічним матеріалом, я не рекомендую його абсолютним новачкам. Однак я думаю його варто згадати. В даному уроці, Chris Kiehl покаже як створити дуже цікавого Python бота, який буде грати в просту гру для вас. Цей урок покаже вам міць Python; він може стати в нагоді для вирішення повсякденних завдань, які можна застосувати для управління вашим комп'ютером.

Завдання 3: Безкоштовні електронні книги

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

Learn Python the Hard Way

Хоч назва книги - "Не простий підхід вивчення Python", вивчення Python все також є простим заняттям як це і повинно бути! У даній книзі, Zed A. Shaw дає вам повне і докладне керівництво, з завданнями та прикладами за допомогою яких ви можете перевірити свої сили в програмуванні. Книга написана неформальною мовою, однак описує детально безліч подробиць, тим самим у вас не виникне труднощів при її прочитанні й результат не змусить себе чекати.

Think Python: Думати як програміст

Ви не знайдете найкраще джерело інформації, ніж офіційна документація на сайті python.org.

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

Invent With Python

Якщо вас більше цікавить практична частина, створення своєї гри, буде дійсно корисним досвідом! У цій книзі, Al Sweigart передбачає, що ви не володієте впевненим знанням Python та допомагає створити вам гру. Попри те, що ця книга про розробку ігор, вона також цілком підійде повним новачкам. Пізніше в цій статті, я посилаюся на схожу книгу, однак для неї потрібно впевнене володіння Python. Якщо ви відчуваєте, що добре знаєте мову, тоді інша книга виявиться більш інформативним джерелом для вас.

The Django Book

У тому випадку якщо ви хочете вивчити Python для веб-розробки, найімовірніше ви будете використовувати фреймворк Django. Ви можете бути не знайомі з фреймворком Django, проте повинні відмінно розбиратися в Python, для засвоєння цієї книги. Інформація в ній безцінна для будь-якого початківця веб-розробника.

Книги по Python

Якщо всіх перерахованих вище книг недостатньо або вас цікавить специфічна тема, перейдіть за цим посиланням. Хлопці з python.org створили великий список книг, відсортували їх за складністю і тематикою.

Завдання 4: Познайомтеся з StackOverflow

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

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

Наприклад, зверніть увагу на маловідомі особливості Python.

Багато з порад та трюків, які ви тут знайдете, немає ні в одному з керівництв, вони будуть дуже корисні просунутим користувачам або користувачам із середнім рівнем знань Python.

Завдання 5: Проект Euler

Project Euler (вимовляється 'Oil-er', запам'ятайте це, щоб не вдарити обличчям в багнюку, в майбутньому) один з моїх улюблених веб-сайтів. Після створення облікового запису, ви можете взяти участь і вирішити приблизно ~400 завдань, на цьому веб-сайті. Кожне завдання на 50 відсотків математика, на 50 відсотків програмування, на мій погляд, найправильніший підхід вивчення кожного з цих предметів.

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

Ніщо не зможе зробити вас чудовим програмістом швидше, ніж пошук найефективнішого вирішення завдань на Project Euler.

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

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

Завдання 6: Створіть гру

Крім створення своєї гри, лише кілька речей можуть приносити задоволення.

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

Офіційна PyGame документація

Як і у випадку з оригінальними підручниками Python, розробники PyGame також мають власну ввідну документацію. У матеріалі багато технічної термінології, на випадок якщо хочете приступити відразу до розробки ігор. Однак, як завжди, документація для розробників, буде найкращим джерелом інформації; тому я і рекомендую цей сайт.

Invent With Python (With PyGame)

Безкоштовна електронна книга від AI Sweigart знайомить читача з бібліотекою PyGame, навіть якщо ви нічого не знаєте про цю бібліотеку, після прочитання ви будете в змозі зробити пару ігор. Прості ігри, будуть відмінним фундаментом, для створення власного проекту, якщо у вас є бажання. Sweigart надає докладні коментарі до свого коду, щоб допомогти в процесі навчання.

Керівництво з розробки комп'ютерних ігор від TheNewBoston

Це черговий плейлист від TheNewBoston. Відмінне введення в PyGame. Він передбачає нульові знання і дає вам гарне уявлення про бібліотеку PyGame, проте на відміну від InventWithPython ви не будете робити повноцінну гру.

Завдання 7: Вивчіть популярні бібліотеки та інструменти

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

PyPy

Якщо у вас виникне бажання зібрати інформацію з HTML сторінок ... BeautifulSoup зробить все необхідне і заощадить величезну кількість часу.

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

NumPy + SciPy

Дані бібліотеки зазвичай використовуються разом (SciPy залежить від NumPy). Якщо вам потрібно виконати роботу пов'язану з математичними обчисленнями або науковими дослідженнями, ці бібліотеки послужать відмінним помічником. NumPy й SciPy розширюють математичні функції та можливості Python, внаслідок чого значно прискорять вирішення поставлених завдань.

BeautifulSoup

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

Python Image Library

Бібліотека для роботи з зображеннями (PIL) відмінно підходить для будь-яких завдань пов'язаних з обробкою зображень. Якщо є необхідність якимось чином взаємодіяти з зображенням, швидше за все PIL допоможе виконати це завдання.

Django

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

Завдання 8: Візьміть участь в проектах з відкритим вихідним кодом

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

Тому проекти з відкритим вихідним кодом настільки популярні. Github і Bitbucket веб-сайти звідки вам варто почати. Не хвилюйтеся, в тому випадку якщо люди будуть критикувати ваш код, ви не повинні робити внесок в ці проекти, негайно. Завжди можна працювати на окремій гілці цього проекту, розібратися як він влаштований і робити з ним все що завгодно. Якщо раптом ви знайдете моменти, які слід поліпшити, відмінно! Зробіть це та відправте ваші поліпшення. Проекти з відкритим вихідним кодом для цього й існують.

Висновок

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

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.