5 крутих речей, які можна робити з Python

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

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

Вступ

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

Типові сфери застосування Python:

  • Розробка ботів
  • Веб-скрапінг (збір даних з веб-сайтів)
  • Машинне навчання, візуалізація та аналіз даних
  • Веб-розробка із використанням фреймворків Django та Flask
  • Створення ігор за допомогою Pygame
  • Розробка мобільних додатків із фреймворком Kivy

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

Отже, почнемо!

Веб-розробка

Python пропонує чудову підтримку для веб-розробки завдяки таким фреймворкам, як Django і Flask. Його можна використовувати для створення серверної частини веб-додатків та інтегрувати з будь-яким інтерфейсом. Зазвичай розробники використовують JavaScript для фронтенду, а Python – для серверних операцій. Python безпосередньо не використовується у веб-браузерах.

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

Крім фреймворків, Python має велику кількість бібліотек для веб-розробки. Ось деякі з популярних:

Корисні ресурси для вивчення веб-розробки на Python:

Приклад: Доступ до файлової системи з мобільного пристрою

Ви можете отримати доступ до файлів на вашому комп’ютері, запустивши файловий сервер. Перейдіть до потрібної папки та виконайте команду:

# Python версії 3.X та новіші
python3 -m http.server

# Python версії 2.X та < 3.X
python -m SimpleHTTPServer
# Порт за замовчуванням: 8000

Це запустить файловий сервер, доступний у вашій локальній мережі. Щоб отримати доступ до файлів з мобільного, підключіться до тієї ж мережі Wi-Fi або скористайтеся точкою доступу вашого телефону. Відкрийте в браузері на мобільному:

:порт

Щоб дізнатися свою IP-адресу, виконайте команду `ifconfig`. Вам потрібна локальна IP-адреса, яка починається з `192.168…`.

Наприклад, якщо ваш IP `192.168.43.155`, а порт використовується за замовчуванням, відкрийте `192.168.43.155:8000` на мобільному пристрої. Ви побачите вміст поточної папки.

Автоматизація та скрипти

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

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

Ось деякі корисні скрипти та пакети для автоматизації:

Приклад: Конвертація CSV у JSON

Ви можете перетворити CSV файл на JSON за допомогою однієї команди Python!

Спробуйте зараз:

python -c "import csv,json;print json.dumps(list(csv.reader(open('your_csv_file.csv'))))"

Замініть `your_csv_file.csv` на назву вашого файлу, і ви отримаєте JSON результат!

Просто, чи не так?

Розробка ігор

Python також підтримує розробку ігор. Його бібліотека Pygame є дуже потужною. Вона дозволяє створювати візуальні, музичні, аудіо- та мультимедійні проєкти. За допомогою Kivy ви можете створювати кросплатформені ігри, які працюватимуть на Windows, Mac, Linux, Android та iOS.

Ресурси для вивчення

Приклад: Гра “Шибениця” в терміналі

Ось проста програма Python, що дозволяє грати у “шибеницю” в терміналі. Код можна оптимізувати, і це завдання я залишаю вам!

# hangman.py
import time
import random

turns = 10

print "Привіт, давайте зіграємо в шибеницю! У вас буде " + str(turns) + " спроб!"

print ""

time.sleep(0.5)

wordList = ["geekflare", "awesome", "python", "magic"]
word = random.choice(wordList)

guesses=""

while turns > 0:         
    wrong = 0             

    for char in word:      
        if char in guesses:    
            print char,    
        else:
            print "_",     
            wrong += 1    

    print("n")

    if wrong == 0:        
        print "Ви виграли :)"  

        break              

    print

    guess=""
    if len(guess) < 1:
        guess = raw_input("Введіть літеру або слово: ")[0]

    guesses += guess                    

    if guess not in word:  
        turns -= 1        
 
        print "Неправильно"    
 
        print "У вас залишилось ", + turns, ' спроб!' 
 
        if turns == 0:           
    
            print "Ви програли :("

Ось як виглядатиме гра:

Веб-скрапінг

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

Популярні бібліотеки для скрапінгу:

Покажу приклад отримання курсу валют із сайту x-rates.com.

Приклад: Порівняння курсів валют з доларом США

Використаємо скрапінг для отримання курсів валют:

import requests 
from bs4 import BeautifulSoup 
  
URL = "https://www.x-rates.com/table/?from=USD&amount=1"
r = requests.get(URL) 

soup = BeautifulSoup(r.content, 'html.parser') 
ratelist = soup.findAll("table", {"class": "ratesTable"})[0].findAll("tbody")

for tableVal in ratelist:
	trList = tableVal.findAll('tr')
	for trVal in trList[:6]:
		print(trVal.text)

Цей код повертає значення 1 долара США в інших валютах.

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

Наука про дані (DS) та машинне навчання (ML) є одними з найактуальніших тем сьогодення. Ці технології визначають майбутнє інформатики.

Python добре підходить для обробки, аналізу та реалізації складних алгоритмів. Аналіз і візуалізація даних зазвичай є простими функціями, які можна реалізувати кількома рядками коду з використанням таких бібліотек, як NumPy, SciPy, scikit-learn.

Python використовується у багатьох інтенсивних програмах, пов’язаних з обробкою даних і машинним навчанням, завдяки популярним бібліотекам:

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

Ще однією перевагою використання Python є те, що навіть складні моделі машинного навчання можна створити за допомогою 20-40 рядків коду. Перегляньте цей підручник про легку візуалізацію на Python.

Висновок

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

Продовжуйте досліджувати та навчатися!