Огляд практичного застосування Python за різними напрямками
24.03.21 ⏰6 хв
Ми вже неодноразово робили огляд на Python, про його переваги, мінуси і т.д., про це Ви можете почитати у статті "Чому девелопери обирають Python своєю першою або основною мовою програмування?" . Конкретно у цій статті ми розберемо в деталях застосування Python за різними напрямками, розглянемо цікаві програми та проєкти, де ця мова програмування зіграла ключову роль.
Найпопсовіші напрямки розробки на Python
Можна виділити цілих три напрямки, які виправдано вкрали серденько програмістів.
І перше місце забирає веб розробка
Цей напрямок ідеально підходить для початківців, дозволяє вивчити базові технології та почати доволі швидко заробляти свої перші ІТ гроші. На ринку також є багато пропозицій роботи по цьому напрямку.
Для веб розробки чудово підійдуть фреймворки Django і Flask — така собі класика жанру.
Flask простий, гнучкий і дає повний контроль над проєктом. Ви матимете цілковиту свободу вибору стосовно того як реалізувати той чи інший функціонал. Обирайте його, якщо хочете отримати більше досвіду та можливостей для навчання. Або, якщо Вам потрібен контроль над такими компонентами, як, наприклад, бази даних.
Django можна порівняти з сервісом "все включено". Він має в собі адмін панель, інтерфейси баз даних, ORM і структуру каталогів для Ваших проєктів. Він ідеально підходить, якщо потрібно зробити щось просто і швидко. Тобто, якщо Ви працюєте над магазином, блогом, сайтом новин — ця бібліотека буде найкращим вибором.
З чого почати?
У статті "Які технології повинен знати Python розробник у 2021 році?" детально описано що потрібно знати junior python програмісту за напрямком веб. Почніть з їх послідовного вивчення.
Друге місце — Data Science: машинне навчання
Python ідеально підходить для роботи над штучним інтелектом, тобто для машинного навчання.
Ви можете навчити машину розпізнавати об'єкти. І це навчання дуже схоже на навчання малих дітей — Ви можете показати алгоритму 1000 зображень якогось об'єкта, він запам'ятає його колір, форму та інші властивості і зможе надалі відрізняти його.
Ця технологія застосовується:
- для рекомендацій (як, наприклад, в сервісі YouTube, Netflix, Amazon),
- в системах розпізнавання лиць та голосів.
З чого почати навчання?
Опанувати основи предмету Ви можете за допомогою курсів Стенфорда або Каліфорнійського технічного інституту. Майте на увазі, що для початку Вам потрібні знання у сфері математичного аналізу та лінійної алгебри.
Практику Ви можете знайти на платформі Kaggle. Це сайт, на якому дослідники за напрямком data science створюють алгоритми машинного навчання для розв'язання реальних задач. Вони також часто діляться підручниками для початківців.
Третє місце забирає аналіз даних
Аналіз даних — це процес виконання послідовних логічних дій з інтерпретації відповіді респондентів та їх перетворення у статистичні форми, необхідні для ухвалення маркетингових та управлінських рішень.
Аналітики даних використовують мову запитів SQL, щоб витягнути дані. Вони застосовують різні інструменти для аналізу та візуалізації, наприклад, Mathplotlib для Python і D3.js для JavaScript.
Власне найпопулярнішою бібліотекою і вважається Mathplotlib. Чому?
- Легкий поріг освоєння,
- це допоможе згодом розібратися зі складнішими бібліотеками, які на ній побудовані.
Розбір цікавих проєктів на Python
Гра Mount and Blade
В цієї гри немає аналогів. Це водночас стратегія, RPG та екшн, дуже дивна, але крута суміш.
Всі скрипти написані на Python. Гра відмінно працює на слабких машинах. Застосування Python дало можливість зробити проєкт модульним. Ентузіасти без проблем можуть зробити доповнення для гри, змінити якусь механіку, текстури, анімації, при чому ці зміни ніяк не торкнуться системних файлів гри.
Гра Sims 4
Sims — це найвідоміша гра, яка є симулятором життя.
Гра була на слуху близько 4 років і займала топ, успішно продаючись. Щоб дати гравцям більше контенту і можливостей, розробники використовували Python для реалізації ігрового моддингу — це дозволило без проблем розширювати гру за допомогою додаткового контенту.
Програма BitTorrent
Популярний торрент-клієнт, яким користуються мільйони людей, був повністю написаний на Python.
Програма Blender
Це програма для роботи з 3D графікою, яка здатна змагатися з такими гігантами, як Maya і 3DMax. Користувач отримує можливість створювати тривимірні моделі, анімацію, а також відео та ігри.
Python використовується для створення логіки, імпорту та експорту, автоматичного виконання завдань та роботи інструментів.
Штучний інтелект AlphaStar
Розробники використовували PySC2 — інструменти, написані на Python спеціально для StarCraft 2.
AlphaStar — це нейромережа, яка сама себе покращує. Спочатку розробники «показували» їй записи ігор, а пізніше випустили грати зі звичайними гравцями.
AlphaStar показала дивовижні результати, обігравши одного з кращих гравців світу.
Складність полягає в тому, що комп'ютеру потрібно робити і оцінювати багато речей: розвідувати що робить противник, визначати його стратегію, підлаштовувати свою гру під нього, приймати оптимальні рішення по пересуванню армії та багато іншого.
Сайт Google
Всі знають, що це найпопулярніша пошукова система у світі. Кожен день через неї проходить величезний об'єм трафіка, який Python обробляє та направляє.
Сайт FaceBook
Ви завантажуєте картинку, змінюєте статус, створюєте публікацію... так от все це обробляється за допомогою інструментів мови програмування Python.
Додаток Instagram
Не думаємо, що потрібно пояснювати що таке Instagram.
Все, що пов'язано з картинками (пошук, публікація, перегляд) обробляється кодом на Python.