5 классных вещей, которые вы можете освоить с Python
Язык программирования Python стал третьим по популярности в индексе TIOBE и первым у PYPL. Джеймс Гавернер, сооснователь аналитической компании RedMonk, заявил, что этот язык уже стал основным для Data Science. Для каких проектов подходит Python и что вы сможете сделать уже сегодня, если знаете как работать с простейшими командами? Погнали разбираться вместе.
Преимущества Python
Python сравнительно лёгок в изучении за счёт простого синтаксиса и универсален благодаря богатой стандартной библиотеке (набору инструментов и готовых решений, которые не требуют дополнительной установки и настройки), поэтому его применяют в самых разных областях.
Python вообще славится своими классными библиотеками — в какой бы области вы ни делали проект, скорее всего, для этого уже есть готовая Python-библиотека: обработка изображений, математика, распознавание речи — для всего есть инструменты. А чтобы вы понимали, насколько это универсальный язык, посмотрите, для чего используют Python-фреймворки:
- NumPy — для работы с высокоуровневыми математическими функциями и многомерными массивами.
- Django и Flask — веб-разработка и веб-приложения (например, Pinterest, YouTube и Instagram написаны на Django).
- SQLAlchemy — для работы с базами данными с применением технологии ORM.
- Cocos2d — мобильные и браузерные игры.
- Tornado — для создания высокопроизводительных приложений, которые способны работать одновременно с сотней тысячей пользователей.
- Bubot — для программирования робототехники и домашней автоматизации, как вариант — использование на Raspberry Pi.
Мы собрали для вас несколько ярких примеров применения этого языка программирования — возможно именно они вдохновят вас на более глубокое изучение Python и создание чего-то инновационного. 😉
1. Веб-разработка
Python имеет очень хорошую поддержку для веб-разработки с фреймворками. Распространенный стэк технологий, который можно встретить во многих компаниях — Django на бэкэнде и JavaScript фреймворк на фронтенде, например, React. Кстати такой стэк использует DropBox. 😉
Пример — настройка доступа к файловой системе компьютера со смартфона
Вы можете получить доступ к вашей файловой системе Linux, запустив файловый сервер на вашем компьютере. Перейдите в нужный каталог, к которому вы хотите получить доступ, и выполните следующую команду:
1 |
python3 -m http.server |
Эта команда запускает файловый сервер, к которому можно получить доступ в той же сети, что и ваш смартфон. Чтобы получить доступ к своим файлам на мобильном устройстве, просто подключитесь к той же сети (Wi-Fi или воспользуйтесь точкой доступа телефона на ноутбуке). Теперь откройте браузер в вашем телефоне.
1 |
<your-computer-ip>:port |
Проверьте свой IP, запустив — ip addr | grep inet. Проверьте ваш локальный IP (предположим, ваш IP — адрес-192.168.43.155). Затем вы должны открыть — 192.168.43.155:8000 на смартфоне и там вы увидите нужный каталог с файловой системой вашего ПК.
2. Автоматизация
Автоматизировать всё, что можно автоматизировать, и освободить время под более важные задачи и дела — это ли не прекрасно? 😉 И в этом тоже поможет python. Существует куча вещей, которые вы можете автоматизировать всего за 4-5 строк кода: от установки заданий cron и напоминаний до загрузки ваших любимых видео на YouTube.
Пример — конвертировать CSV в JSON
Вы можете преобразовать файл CSV в JSON с помощью всего одной команды в Python!
1 |
python -c "import csv,json;print(json.dumps(list(csv.reader(open(“your_csv_file.csv”)))))" |
Замените его на filename.csv, и вы получите вывод JSON!
3. Создание игр
С помощью Python вы можете разрабатывать игры. Его библиотека Pygame очень крутая. Он поддерживает художественные, музыкальные, звуковые, видео и мультимедийные проекты, которые будут создаваться с её использованием. Также вы можете создавать кроссплатформенные игры, используя Kivy, который работает на Windows, Mac, Linux, Android и iOS.
Пример — игра «Виселица» в терминале
Терминал — часть некой системы для взаимодействия с внешней средой. Если кратко — окно коммуникации между человеком и операционной системой на компьютере.
Вот простая программа на Python, которая позволяет вам играть в виселицу в терминале.Скопируйте нижеуказанный код в текстовый файл с расширением “.py”, например: hangman.py.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
<strong><em>from </em></strong>random <strong><em>import </em></strong>shuffle # Кол-во попыток. turns = 10 print(f"Привет, Давай сыграем в виселицу! У тебя есть {turns} попыток!") # Список слов, которые участвуют в игре. wordList = ["geekflare", "awesome", "python", "magic"] # Перемешиваем список. shuffle(wordList) # Берем последнее слово из списка. word = wordList.pop() guesses = "" # Цикл, который будет работать, пока не останется попыток или не отгаданных букв. <strong><em>while </em></strong>turns > 0: wrong = 0 <strong><em>for </em></strong>char <strong><em>in </em></strong>word: <strong><em>if </em></strong>char <strong><em>in </em></strong>guesses: print(char, end=" ") <strong><em>else</em></strong>: print("_", end=" ") wrong += 1 print("\n") <strong><em>if </em></strong>wrong == 0: print("Ты выиграл! :)") <strong><em>break</em></strong> <strong><em> </em></strong>print() guess = "" <strong><em>if </em></strong>len(guess) < 1: guess = input("Впиши букву и нажми enter: ")[0] <strong><em>if </em></strong>guess <strong><em>in </em></strong>guesses: print("Эта буква уже была!") guesses += guess <strong><em>if </em></strong>guess <strong><em>not in </em></strong>word: turns -= 1 print("Упс! Ошибка") print(f"У тебя осталось {turns} попыток") <strong><em>if </em></strong>turns == 0: print("Ты проиграл! :(") |
Запустите игру командой: python3 hangman.py где hangman.py название вашего файла. Результат будет выглядеть примерно так:
4. Веб-парсинг
Каждый разработчик встречает огромное количество данных на сайтах. И представьте, как было бы круто, если бы вы могли легко получить доступ ко всей этой информации — запарсить её с помощью Python.
Парсинг (англ. «web scraping») — это автоматизированный сбор открытой информации в интернете по заданным условиям. Парсить можно данные с сайтов, поисковой выдачи, форумов и социальных сетей.
Данные в Сети неструктурированы, и пайтон предоставляет простой способ для анализа и использования этих данных и даже для дальнейшего анализа и операций. Вот некоторые популярные Python-библиотеки для парсинга:
Пример — узнать значение валюты в сравнении с долларом США
Давайте используем парсинг для получения значений валюты. Для этого примера нужно установить две библиотеки для запросов и для парсинга. Выполните в консоли команду:
1 |
pip install beautifulsoup4 requests |
Создайте файл с названием currency_scrap.py и вставьте в него код ниже:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<strong><em>import </em></strong>requests <strong><em>from </em></strong>bs4 <strong><em>import </em></strong>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") <strong><em>for </em></strong>tableVal <strong><em>in </em></strong>ratelist: trList = tableVal.findAll("tr") <strong><em>for </em></strong>trVal <strong><em>in </em></strong>trList[:6]: print(trVal.text) |
Вывод:
5. Дата сайнс и машинное обучение
Python хорошо подходит для различных манипуляций с данными, анализа и реализации сложных алгоритмов. Синтаксический анализ и визуализация данных обычно представляют собой простые функции или несколько строк кода с библиотеками Python, такими как NumPy, scipy, scikit-learn и другими.
Python можно использовать в приложениях с интенсивным использованием данных и машинном обучении, используя множество популярных библиотек, таких как:
Есть много инструментов глубокого обучения, которые поддерживают Python. Вот популярные библиотеки и фреймворки:
Еще одна причина, по которой Python популярен, заключается в том, что даже сложные модели машинного обучения могут быть реализованы с помощью 20-40 строк кода.
⌘⌘⌘
Проекты, которые мы привели в пример — лишь малая часть того, что можно сделать на python. Но если вы новичок, они помогут вам улучшить свои знания, навыки и прокачать уверенность в себе.
Изучайте Python и не забывайте выбирать надёжную структуру для ваших проектов. Меняйте будущее вместе с нами!
Адаптивный перевод статьи «5 Cool things You can do with Python»
Что ещё почитать: