Ми зібрали велику добірку книг по Python, які допомагають новачкам вивчити базу, досвідченим — відточити навички, покращити код і дізнатися більше про можливості мови, а також додали багато літератури для поглибленого читання.
Для новачків
Звичайно, обіцянка вивчити мову програмування за тиждень — маркетинговий хід, але зміст книги точно буде корисним. Тут є:
- короткий вступ до Python, його історія та основні додатки;
- інструкція, як встановити Python і який дистрибутив краще використовувати;
- всі об’єкти та методи в Python;
- елементи розширеного програмування на кшталт Github, pip, Virtual Environment та Unit Testing;
- приклади коду та вправи в кінці кожного розділу.
Python Programming for the Absolute Beginner, 3rd Edition (Michael Dawson)
Надійне введеня у програмування «для чайників». Книга навчає принципам програмування за допомогою створення ігор. У розділах ви знайдете приклади коду, що ілюструють представлені концепції. Наприкінці кожного розділу — повна гра, що демонструє ключові ідеї розділу, і набір завдань для закріплення знань.
The Big Book of Small Python Projects: 81 Easy Practice Programs (Al Sweigart)
Теоретична база та синтаксис Python вже освоєно? Тоді настав час переходити до цієї книги і вчитися писати програми. Тут зібрана колекція з 81 проекту Python, за якими можна створювати ігри на кшталт Блекджек, анімації, програми для розрахунків, шифрування та інше. Також автор вчить креативити — додавати до коду свої власні штрихи.
Classic Computer Science Problems in Python (David Kopec, Lisa Farina)
І-і-і знову підвищуємо складність. Тут завдання допоможуть відточувати навички вирішення проблем за допомогою перевірених сценаріїв, вправ та алгоритмів із використанням Python. У книзі десятки завдань з кодування, починаючи від простих, таких як алгоритми бінарного пошуку, і закінчуючи кластеризацією даних з використанням k-середніх. Також ви дізнаєтеся більше про нейромережі, генетичні алгоритми, змагальний пошук.
Додатково
Програмістам-новачкам (і досвіченим теж) корисні не лише ті книги, в назвах яких бачите «Python» — роботодавець вимагатиме від вас знань інших інструментів і технологій. Тож мотайте на вус.
Head First Git: A Learner’s Guide to Understanding Git from the Inside Out 1st Edition (Raju Gandhi)
GitHub потрібний не тільки для того, щоб бездумно «передирати» чийсь код. Автори цього посібника допоможуть зрозуміти, як насправді працює Git, розкривають весь його потенціал. Тут є інформація про способи роботи з Git, гілки, злиття, утиліти, рекомендації по роботі з повідомленнями коммітів та пошуком, та багато іншого.
Нове четверте видання популярної книги, оновлене під сучасні реалії. Книга докладно охоплює широкий спектр алгоритмів, але робить їх розробку та аналіз доступними для читачів будь-якого рівня. Крім теорії, у книзі понад 160 завдань та вправ.
Перші дев’ять розділів — загальне введення в теорію графів, що вимагає лише деяких знань у галузі теорії множин та матричної алгебри. Теми включають шляхи та схеми, «дерева» та фундаментальні схеми, плоскі та подвійні графи, векторне та матричне представлення графів, а також пов’язані теми.
Інші шість — більш просунуті: вони охоплюють алгоритми теорії графів та комп’ютерні програми, графи в теорії комутації та кодування, аналіз електричних мереж за допомогою теорії графів, теорію графів у дослідженні операцій та багато іншого.
The Recursive Book of Recursion: Ace the Coding Interview with Python and JavaScript (Al Sweigart)
Рекурсія серед програмістів вважається складною темою, але в ній немає нічого магічного. Книга використовує приклади Python та JavaScript для навчання основ рекурсії та роз’яснює фундаментальні принципи всіх рекурсивних алгоритмів. Автори розповідають, коли саме треба використовувати рекурсивні функції (і коли цього робити не потрібно), як реалізувати класичні рекурсивні алгоритми, а також які проблеми вони можуть вирішити.
Повний посібник з SQL для програмістів різного рівня — початківців (перша книга), середнього та просунутого рівня (друга і третя відповідно). Крім теорії SQL і роз’яснень, чим гарна ця технологія для взаємодії з базами даних, є купа практичних рекомендацій і вправ.
Docker є де-факто стандартом для контейнеризації застосунків. Книга допоможе зрозуміти, як забезпечити безперебійну роботу робочого процесу розгортання за допомогою контейнерів Docker, вивчити концепції Docker та DevOps, такі як безперервна інтеграція та безперервне розгортання (CI/CD). Також вона ознайомить із різними інструментами та бібліотеками.
Data Structures the Fun Way: An Amusing Adventure with Coffee-Filled Examples (Jeremy Kubica)
Це поглиблене введення в обчислювальне мислення через призму структур даних — це важливо для будь-якого програміста-початківця. Тут є докладний розбір, як працювати з 15 ключовими структурами даних — від стеків, черг та кешів до фільтрів Блума, списків пропуску та графіків.
PRO
Якщо ви в програмуванні не новачок — чудово самостійно пишите код, але хочете відточити майстерність, або ж вам цікаво пізнати всі можливості Python і суміжних технологій, на допомогу прийдуть наступні книги.
Fluent Python: Clear, Concise, and Effective Programming 2nd Edition (Luciano Ramalho)
Багато досвідчених програмістів намагаються загнати Python у шаблон, про який вони дізналися з інших мов, і ніколи не відкривають для себе можливості Python за межами свого досвіду. Практичний посібник навчить писати ефективний ідіоматичний код на Python, використовуючи його найкращі — і часом забуті, — функції. Автор познайомить з основними функціями та бібліотеками мови Python і покаже, як зробити код коротшим, швидшим і читабельнішим.
Грунтуючись на багаторічному досвіді створення інфраструктури Python у Google, Слаткін розкриває маловідомі особливості та ідіоми, які сильно впливають на поведінку та продуктивність коду. Читачам розповідають, як найкраще виконувати ключові завдання, щоб писати код, який легше зрозуміти, підтримувати та покращувати. У книзі багато порад та прикладів реального коду.
Якщо вас цікавить ніша штучного інтелекту (і ви вже тут дещо розумієте), сміливо беріть цю книгу. Вона допоможе розібратися в ключових аспектах і проблемах інтерпретованості машинного навчання, як подолати їх за допомогою методів інтерпретації, а також як використовувати ці методи для створення більш безпечних і надійних моделей.
А ця книга буде корисна для фахівців, які хотіли б працювати з електронікою та розробляти програми, що взаємодіють з гаджетами на зразок смарт-годинників, наприклад. У ній розбирають, як використовувати Python та Raspberry Pi для створення складних програм IoT (інтернету речей), здатних створювати та виявляти рух, вимірювати відстань, освітленість та безліч інших умов навколишнього середовища.
77 Python Advanced Programming Exercises (Edcorner Learning)
І, наостанок, збірка завдань високого рівня складності для «прокачаних» програмістів. Вона допоможе відпрацювати різні теми та підготуватися до технічного інтерв’ю з кодування, паралельно покращуючи хард-скіли.
The post 16 книг по Python для «чайників» та «богів» програмування (або майже богів) first appeared on Highload.today.