Какие графические приложения написаны на python
Перейти к содержимому

Какие графические приложения написаны на python

  • автор:

Топ-16 Python-приложений в реальном мире

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

Гвидо ван Россум

За последние несколько лет технологии вокруг нас поменялись почти во всех аспектах. Мы живем в мире, где во главе угла стоит программное обеспечение, а за почти любой службой стоит какая-нибудь строчка кода. Индустрия путешествий, банкинг, образование, исследования, военная сфера — лишь немногие из тех, кто полагается на ПО.

Любой софт написан на каком-то языке программирования. А число последних лишь растет.

Однако одним из самых популярных в мире на сегодня является Python. В этом материале рассмотрим примеры реальных приложений, работающих на этом языке.

Реальные приложения на Python

Python сильно поменялся с момента создания в 1991 году Гвино ван Россумом. Это динамический, интерпретируемый, высокоуровневый язык программирования, с помощью которого можно создать массу разнообразных приложений. У него плавная кривая обучения и понятный синтаксис.

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

1. Веб-разработка

Наверняка все разработчики знают, что такое веб-разработка. Это квинтэссенция применимости Python. Также этот язык выделяет широкое разнообразие фреймворков и систем управления контентом (CMS), которые упрощают жизнь разработчика. Среди самых популярных решений — Django, Flask, Pyramid и Bottle. Среди CMS выделяются Django CMS, Plone CMS и Wagtail.

Веб-разработка на Python дает такие преимущества, как повышенная безопасность, масштабируемость и удобство в процессе работы. Также язык из коробки поддерживает такие протоколы, как HTML, XML, email-протоколы, FTP. У Python одна из крупнейших коллекций библиотек, упрощающих и улучшающих жизнь разработчика.

Посмотреть список сайтов, которые использую python можно на https://trends.builtwith.com/framework/Python.

2. Разработка игр

По аналогии с веб-разработкой в Python есть масса инструментов и библиотек для разработки игр. Кстати, а вы знали, что на этом языке программирования была написала популярная некогда Battlefield 2?

Для разработки игр используются такие библиотеки, как PyGame, Pycap, Construct, Panda3D, PySoy и PyOpenGL.

Также с помощью Python были разработаны такие проекты, как Sims 4, World of Tanks, Civilization IV и EVE Online. Можно вспомнить еще Mount & Blade, Doki Doki Literature Club, Frets on Fire и Disney’s Toontown Online.

3. Искусственный интеллект и машинное обучение

По данным GitHub Python расположился на втором месте среди языков, используемых для машинного обучения.

Искусственный интеллект и машинное обучение — очень популярные темы сегодня. С помощью них мы сегодня принимаем очень много решений. Python отчасти повлиял на такой рост популярность отрасли.

Стабильность и безопасность языка сделали его идеальным для интенсивных вычислений, без которых AI и ML не обходятся. А широкая коллекция библиотек помогает при разработке моделей и алгоритмов. Вот самые популярные библиотеки:

  • SciPy для научных и технических вычислений.
  • Pandas для анализа данных и манипуляции ими.
  • Keras для нейронных сетей.
  • TensorFlow для машинного обучения, особенно для глубоких нейронных сетей.
  • NumPy для сложных математических функций и вычислений.
  • Scikit-Learn для работы с разными моделями машинного обучения.

4. Графический интерфейс для настольных приложений

Иногда можно обойтись и без полноценного интерфейса, но для большинства проектов сегодня важен GUI. И для них в Python тоже есть множество решений.

При этом доступный синтаксис и модульная структура позволяют создавать быстрые и отзывчивые интерфейсы, делая еще и сам процесс разработки приятным. Среди самых популярных библиотек и фреймоворков — PyQt, Tkinter, Python GTK+, wxWidgets и Kivy.

5. Обработка изображений

Благодаря росту популярности машинного обучения, глубокого обучения и нейронных сетей выросла и роль инструментов для (предварительной) обработки изображений. Python в полной мере удовлетворяет этот спрос.

Среди самых популярных инструментов в Python можно выделить OpenCV, Scikit-Image, Python Imaging Library (PIL). Среди известных приложений, использующих Python — GIMP, Corel PaintShop, Blender и Houdini.

6. Обработка текста

Обработка текста — чуть ли не самый распространенный сценарий использования Python. Она руку идет с NLP (обработкой естественного языка), но не будем погружаться в эту тему сейчас. Обработка текста позволяет обрабатывать большие объемы текста, предоставляя гибкость структуры. Можно запросто сортировать строки, извлекать определенный текст, форматировать абзацы и так далее.

7. Бизнес приложения

Бизнес приложения во многом отличаются от обычного потребительского ПО. Во-первых, они предлагают ограниченный набор функций вместо десяток или даже сотен возможностей. Во-вторых, у них есть конкретная целевая группа (чаще всего ею выступает определенная организация).

Python отлично подходит для разработки таких высоконагруженных приложений.

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

8. Образовательные и тренировочные программы

Python — отличная точка входа для каждого, кто хочет познакомиться с миром современного программирования. Все благодаря максимально простому синтаксису языка, который очень напоминает английский. Также изучается Python быстрее других языков. Именно поэтому этот язык один из основных кандидатов на то, чтобы быть первым языком программирования.

Есть масса обучающих ресурсов для получения начальных знаний по Python, но среди самых популярных можно выделить Coursera, edX, Udemy, Python Institute и Harvard.

9. Аудио и видео приложения

Эффективность Python позволяет использовать его для аудио и видео приложений. Для этого есть масса инструментов и библиотек. Сигнальная обработка, управление аудио, распознавание звуков — все это доступно с помощью таких библиотек, как Pyo, pyAudioANalysis, Dejavu и других.

Для видео же есть Scikit-video, OpenCV и SciPy. С их помощью можно управлять видеороликами и готовить их к использованию в других приложениях. На Python написаны Spotify, Netflix и YouTube.

10. Парсинг

В интернете просто невероятные объемы информации. И с помощью веб-парсеров данные на сайтах можно собирать, сохраняя их в одном месте. После этого их могут использовать исследователи, аналитики или организации для самых разных задач.

На Python есть такие библиотеки, как PythonRequest, BeautifulSoup, MechanicalSoup, Selenium и другие. Парсеры используются для отслеживания цены, аналитики, анализа в социальных медиа, проектах машинного обучения и в любых других проектах, где есть большие объемы данных.

11. Data Science и визуализация данных

Данные играют ключевую роль в современном мире. Они помогают понимать людей, их вкусы, собирать и анализировать интересные наблюдения. Это все — важная часть Data Science. В этой области требуется определить проблему, собрать данные, обработать их, изучить, проанализировать и визуализировать.

В экосистеме Python есть такие решения, как TensorFlow, PyTorch, Pandas, Scikit-Learn, NumPy, SciPy и многие другие.

Визуализация важна, когда данные нужно преподнести команде или держателям акций. Для этого в Python есть Plotly, Matplotlib, Seaborn, Ggplot, Geoplotlib и другие.

12. Научные и математические приложения

Мы уже определили, что в Python есть библиотеки для научных и математических вычислений, включая AI, ML и Data Science. Но даже если не брать эти сферы, язык пригодится, например, для работы с высокоуровневыми математическими функциями.

Стоит отметить такие инструменты, как Pandas, IPython, SciPy, Numeric Python, Matplotlib и другие. С помощью Python созданы такие приложения, как FreeCAD и Abaqus.

13. Разработка программного обеспечения

Python подходит не только для веб-разработки, научной разработки, создания игр или встраиваемых систем. По большому счету, это универсальное решение для софта любого типа. Все это возможно благодаря тому, что Python обеспечивает высокую скорость исполнения, хорошую совместимость, отличную поддержку со стороны сообщества, а также огромное количество библиотек. С помощью Python были созданы Roundup, Buildbot, SCons, Mercurial, Orbiter и Allura.

Часто разработчики используют Python как вспомогательный язык для управления проектами, контроля сборок и тестирования.

14. Операционные системы

Операционные системы — мозг любого компьютера. На Python, например, работают ОС, построенные на базе Linux. Как минимум, отдельные части таких систем.

В качестве примеров можно вспомнить Ubiquity Installer от Ubuntu, Anaconda Installer от Red Hat Enterprise. Также язык использовался для создания Gentoo Linux и системы управления пакетами Portage в Google Chrome OS. Вообще комбинация Python и C дает огромные преимущества при проектировании и разработке операционных систем.

15. CAD-приложения

CAD (computer aided design) приложения преимущественно используются в автомобильной, аэрокосмической и архитектурной сферах. Они помогают инженерам и дизайнерам проектировать продукты с точностью до миллиметров.

В среде Python из таких приложений есть FreeCAD, Fandango, PythonCAD, Blender и Vintech RCAM. Они предоставляют такие функции, как макрозапись, верстаки, симуляция роботов, скетчинг, поддержка мультиформатного импорта/экспорта, модули технического чертежа и многое другое.

16. Встроенные приложения

Одна из самых впечатляющих возможностей Python — работа на встроенном железе. Это такие устройства, которые предназначены для выполнения ограниченного набора действий. Встроенный софт — это тот, который отвечает за работу таких устройств. Среди самых популярных приложений MicroPython, Zerynth, PyMite и EmbeddedPython.

В качестве примера встроенных устройств можно вспомнить цифровые камеры, смартфоны, Raspberry Pi, промышленные роботы и другие, которые могут работать с помощью Python. Не все знают, но Python может использоваться как слой абстракции там, где на системном уровне работают C или C++.

Другие приложение на Python

  • Консольные приложения
  • Компьютерное зрение
  • Робототехника
  • Разработка языков
  • Автоматическое тестирование
  • Автоматизация
  • Анализа данных

Вывод

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

Если вы только знакомитесь с программированием в целом, то этот материал должен был убедить вас выбрать в качестве первого языка Python. Благо, выучить его сегодня легко с помощью обилия книг, курсов, GitHub-репозиториев, популярных инструментов и библиотек.

Какие графические приложения написаны на python

В этой статье мы расскажем, почему Python такой популярный и какие программы и приложения были созданы на нем.

Немного истории и интересных фактов!

Это не новый язык, задумываться о нем начали уже в 80-х годах, а приступили к созданию в 1989. Автором стал Гвидо ван Россум, голландский программист, которого еще прозвали «великодушным пожизненным диктатором» — на протяжении долгого времени он наблюдал за процессом развития языка и оставлял за собой право принимать окончальные решения, когда это необходимо. А назван язык в честь популярного комедийного телешоу «Летающий цирк Монти Пайтона».

На сегодняшний день это один из самых популярных языков программирования на рынке. Он становился «Языком года» по версии TIOBE в 2007, 2010, 2018 и 2020 годах, а в июле 2021 занял третье место по популярности.

Так что будьте уверены, Python собрал вокруг себя огромное сообщество и попасть в него может каждый.

В чем же его преимущества?

Вы легко найдете решение в случае проблемы, скорее всего кто-то уже обсудил ее на форумах. Код довольно просто читается, есть специальные библиотеки под любые цели (NumPy, Pandas, Scikit-Learn и другие) и широкий спектр практического применения:

  • веб-разработка;
  • анализ данных;
  • машинное обучение и искусственный интеллект;
  • DevOps;
  • разработка игр;
  • аудио и видеоприложения;
  • бизнес приложения;
  • обработка текста, изображений;
  • и другие.

Приятным преимуществом станет и довольно высокая зарплата уже на junior-позиции — в Беларуси от 600$.

Что касается проектов, созданных на Python, то многие из них очень популярны среди пользователей. Например, недавний масштабный сбой одного из таких приложений очень активно обсуждали… все? И да, речь про Instagram. Компания была основана в 2010 году, а на сегодня более чем 1 миллиард активных пользователей в месяц обменивается своими фотографиями и видео.

Конечно, стоит отметить, что в проекте применяется множество языков. Но до покупки приложения компанией Facebook, это был веб-сайт, построенный с использованием Django (свободный фреймворк для веб-приложений на языке Python). И несмотря на популярность мобильных приложений, сайт все также работает.

Сотни миллионов подписчиков есть и у потокового сервиса Netflix. Их сайт также написан на Python и имеет сильный механизм по аналитике и построению рекомендаций. Если сезон любимого сериала закончился — вы очень быстро найдете, что еще посмотреть. А компания определит, на создание каких проектов стоит уделить больше внимания.

Не будем уходить далеко от видеоконтента и расскажем вам про музыкальные возможности. Летом 2020 года в Беларуси заработал сервис Spotify, и да, он тоже на Python, как вы могли догадаться 🙂

Здесь язык также активно используется для анализа данных, чтобы в рекомендациях у нас было все самое лучшее и отвечающее нашему музыкальному вкусу.

Будет довольно сложно представить современную жизнь, особенно зумерам, без компании Google. Поисковая система настолько прочно вошла в нашу жизнь, что гуглить стало нарицательным, и мы советуем погулить, даже если сами пользуемся Яндексом.

Забавный факт

представители компании часто негативно смотрят на то, когда их бренд становится именем нарицательным, так было и с гуглом еще в 2000-х, и с ксероксом (в английском языке им удалось побороть это, слово заменилось на photocopier/photocopy).

Вернемся к нашей теме, и да, компания также любит и разрабатывает свои проекты на языке Python. Например, YouTube (где у нас, кстати, есть канал, на котором мы делимся различным IT-контентом, приглашаем экспертов на интервью и многое другое).

К слову, сам создатель языка, Гвидо ван Россум, почти 10 лет проработал в Google. Но в 2012 принял предложение перейти в Dropbox и, как можете догадаться, эта облачная система хранения файлов также использует Python в настольном клиенте. Благодаря применению различных библиотек, компания смогла масштабировать продукт под любое устройство пользователя.

Следующий пример может и не такой популярный среди рядовых пользователей, но будет интересен любителям компьютерных игр — речь о AlphaStar, искусственном интеллекте в игре StarCraft II. Программа была анонсирована в 2016 году и смогла достичь уровня лучших игроков.

Продолжая тему игр, одной из самых продаваемых будет Sims 4, — симулятор жизни, где большинство проблем решается с помощью Motherlode или удалением лестницы из бассейна.

Python также используется в World of Tanks, Civilization IV и EVE Online и многих других игр.

Быструю скорость разработки языка в свое время оценили и создатели социального сервиса обмена знаниями и веб-сайта вопросов и ответов Quora. Главная причина — желание поскорее выпустить в мир MVP (минимально жизнеспособный продукт), а Python отлично подойдет для этой цели.

Выполнение множества вычислительных процессов — еще одно преимущество языка, которое стало решающим для основателей международной компании Uber. С помощью их приложения мы узнали, как в пару кликов можно вызвать такси, оплатить его удобным способом и доставить себе еду на дом.

Помимо поездок на такси, язык используется и в компаниях с более глобальными маршрутами, даже космическими. Речь о NASA и их научных исследованиях, где применяется Python (уточнение, речь идет об исследованиях, а не о полетах на МКС).

Выводы:

изучая Python, вы откроете для себя путь ко многим крутым проектам, сможете довольно быстро реализовывать свои идеи, не теряя качества и актуальности в разработке.

ТОП интересных программ, написанных на Python

Python – один из пяти самых востребованных языков программирования. Его применяют в разных IT-сферах, включая веб-разработку, машинное обучение, разработку приложений и так далее. Ниже представлены интересные проекты на Python для начинающих и опытных программистов.

Проекты, созданные с участием Python

С помощью этого языка программирования было создано немало разработок, но не всех из них обрели успех. Однако, есть крупные проекты на Python, о которых стоит узнать. К ним относятся программы, игры и сайты.

Игры

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

Mount and Blade

Mount and blade – это RPG, у которого отсутствуют аналоги. Это целый средневековый мир с глобальной картой. Игрок может путешествовать по нему, создавать армию, завоевывать себе славу и власть. Главное отличие – битва в стиле средневекового симулятора сражений, управление персонажем от третьего лица, наличие огромного количества воинов, следующих приказам. Эта система уникальна и не имеет аналогов. В ней собраны стратегия, RPG и экшн. Масштаб игры поистине впечатляет.

Для написания всех скриптов использовался Python. Для игры не нужен мощный компьютер. Благодаря применению Python возможна модуляция проекта. При желании, умелые пользователи могут самостоятельно дополнять игру механикой, текстурой и анимацией. Системные файлы игры, при этом, остаются неизменными.

Battlefield

Battlefield – игра, нашедшая место в сердцах миллионов пользователей. На Python были написаны несколько ее скриптов, логика и серверная часть.

Дата выхода игры – 2005 год. Она обладала подходящими для компьютеров тех лет системными требованиями. Благодаря участию Python, процесс разработки шел быстрее.

EVE Online

В EVE Online Python стал основой для разработки игровой логики и серверной части. Использовалась улучшенная версия интерпретатора.

Sims 4

Sims является самым известным симулятором жизни. Сложно найти игру, более востребованную среди лиц женского пола. Она всегда успешно продавалась. Python использовался, чтобы обеспечить игровой моддинг. Пользователи могут расширить игровые возможности, создавая дополнительный контент

Программы

BitTorrent

Этот торрент-клиент занимает лидирующую позицию среди всех программ в своей категории. Его полностью написали на Python (до шестой версии).

Blender

Отличная программа для 3D-дизайнеров. Благодаря большому количеству преимуществ, может составить конкуренцию даже таким гигантам, как Maya и 3DMax. С помощью Python разработчики создали логику, импорт, экспорт, автоматическое выполнение задач и работу инструментов. Программа бесплатная.

GIMP

GIMP – популярный редактор, позволяющий работать с растровой и векторной графикой. Это достойная замена Adobe Photoshop. С помощью Python были созданы фильтры, дополнительные модули и некоторые скрипты.

Конечно, это далеко не весь список проектов на Python. Такая востребованность данного языка программирования подтверждает его пригодность для создания качественного программного обеспечения.

Ближайшие наборы на курсы

Обучение проводится offline и online.
Подробности уточняйте у наших специалистов.

Уважаемые студенты, записывайтесь, пожалуйста, заранее: за неделю до начала курса, как правило, свободных мест уже не остается

Курс: Web-разработки на JavaScript(React), HTML, CSS
Группа по будням
Занятия: пн, ср 19:00 – 22:00
Длительность: 160 ак. часов
Начало: 31 января 2024
Свободные места: есть
Стоимость: 2490 бел. рублей
Стоимость: 2117 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Интернет-маркетинг
Группа по будням
Занятия: пн, ср 19:00 – 22:00
Длительность: 64 ак. часа
Начало: 31 января 2024
Свободные места: 2 места
Стоимость: 950 бел. рублей
Стоимость: 855 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Углубленный офис (Word, Excel)
Группа по будням (утренняя)
Занятия: ср, пт 10:00 – 12:30
Длительность: 30 ак. часов
Начало: 31 января 2024
Свободные места: 1 место
Стоимость: 350 бел. рублей
Стоимость: 280 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Компьютер с нуля
Группа по будням (дневная)
Занятия: вт, чт 13:00 – 15:30
Длительность: 24 ак. часа
Начало: 01 февраля 2024
Свободные места: 1 место
Стоимость: 270 бел. рублей
Стоимость: 216 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Компьютер с нуля
Группа по будням (вечерняя)
Занятия: вт, чт 19:00 – 21:30
Длительность: 24 ак. часа
Начало: 01 февраля 2024
Свободные места: нет
Стоимость: 270 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Компьютер с нуля
Группа по будням (утренняя)
Занятия: пн, чт 10:30 – 13:00
Длительность: 24 ак. часа
Начало: 01 февраля 2024
Свободные места: 1 место
Стоимость: 270 бел. рублей
Стоимость: 216 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Автоматизация тестирования ПО
Группа по будням
Занятия: вт, чт 19:00 – 22:00
Длительность: 128 ак. часов
Начало: 01 февраля 2024
Свободные места: 1 место
Стоимость: 1890 бел. рублей
Стоимость: 1512 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Тестирование ПО (практикум)
Группа по будням
Занятия: ср, пт 19:00 – 22:00
Длительность: 72 ак. часа
Начало: 02 февраля 2024
Свободные места: 1 место
Стоимость: 1250 бел. рублей
Стоимость: 1000 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Тестирование ПО
Группа по будням
Занятия: вт, чт 19:00 – 22:00
Длительность: 64 ак. часа
Начало: 06 февраля 2024
Свободные места: есть
Стоимость: 950 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Тестирование ПО
Группа по выходным
Занятия: сб, вс 10:00 – 13:00
Длительность: 64 ак. часа
Начало: 10 февраля 2024
Свободные места: есть
Стоимость: 950 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Компьютер с нуля
Группа по выходным
Занятия: сб, вс 10:00 – 12:30
Длительность: 24 ак. часа
Начало: 10 февраля 2024
Свободные места: есть
Стоимость: 270 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: 3D моделирование
Группа по будням(дизайн)
Занятия: пн, пт 19:00 – 22:00
Длительность: 120 ак. часов
Начало: 19 февраля 2024
Свободные места: есть
Стоимость: 1745 бел. рублей
Стоимость: 1570 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Программирование Java SE (базовый уровень)
Группа по будням
Занятия: вт, чт 19:00 – 22:00
Длительность: 160 ак. часов
Начало: 20 февраля 2024
Свободные места: 3 места
Стоимость: 2490 бел. рублей
Стоимость: 2241 бел. рубль
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Углубленный офис (Word, Excel)
Группа по будням (утренняя)
Занятия: вт, чт 10:15 – 12:45
Длительность: 30 ак. часов
Начало: 22 февраля 2024
Свободные места: есть
Стоимость: 350 бел. рублей
Стоимость: 315 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Бизнес-анализ в сфере разработки ПО
Группа по выходным
Занятия: сб, вс 11:00 – 14:00
Длительность: 64 ак. часа
Начало: 24 февраля 2024
Свободные места: есть
Стоимость: 950 бел. рублей
Стоимость: 855 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Программирование Python/Django
Группа по будням
Занятия: пн, чт 19:00 – 22:00
Длительность: 160 ак. часов
Начало: 29 февраля 2024
Свободные места: есть
Стоимость: 2490 бел. рублей
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Курс: Управление проектами в сфере разработки ПО
Группа по будням
Занятия: вт, чт 19:00 – 22:00
Длительность: 64 ак. часа
Начало: 12 марта 2024
Свободные места: есть
Стоимость: 950 бел. рублей
Стоимость: 903 бел. рубля
ПОЛУЧИТЬ СКИДКУ
Возможна оплата по частям!

Создаём графический интерфейс на Python за 10 минут

Python — язык программирования для решения разных задач: на нём можно как играть в угадайку чисел, так и создавать нейросети.

Но обычно работа с программой на Python идёт через командную строку: она отвечает тебе текстом, ты ей подаёшь на вход текст. Это хорошо, когда программа работает на сервере, но в бытовых ситуациях это не всегда удобно: хочется понажимать на кнопочки.

Сегодня мы научимся создавать графический интерфейс для программ — с кнопками, полями ввода и управление мышкой. А потом используем это для новых проектов.

Библиотека PySimpleGUI — простой интерфейс для Python

На самом деле у Python есть много библиотек, которые позволяют создать графический интерфейс — Tkinter, Qt, Remi или WxPython. Но проблема в том, что каждую из них нужно осваивать отдельно. Например, в одной удобно создавать графики, но неудобно — кнопки и надписи.

Чтобы сделать создание интерфейсов проще, придумали PySimpleGUI. Идея в том, чтобы объединить лучшие идеи из каждой библиотеки и написать для них внешнюю обёртку.

В итоге программисту на Python достаточно взять уже готовую команду создания кнопки, а отрисовку и внешний вид программа возьмёт на себя.

Ещё PySimpleGUI — это кросс-платформенное решение. Это значит, что интерфейсы, созданные с помощью этой библиотеки, будут работать одинаково на разных операционных системах.

Пара примеров, что можно сделать с PySimpleGUI:

Создаём графический интерфейс на Python за 10 минут Создаём графический интерфейс на Python за 10 минут

Что для этого нужно

Для установки PySimpleGUI в командной строке компьютера или среды разработки пишем такую команду:

pip install pysimplegui

После этого библиотеку сразу можно подключать и использовать в проектах командой import PySimpleGUI . Но чтобы не писать каждый раз в коде такое громоздкое название, ей можно задать другое имя при подключении, например:

import PySimpleGUI as sg

Теперь нам достаточно написать sg вместо pysimplegui.

Если появилось такое сообщение, значит, библиотека установлена и готова к работе

Создаём простой интерфейс

Сегодня мы посмотрим, как всё работает, и сделаем маленькую программу. Как разберёмся — возьмём проекты помасштабнее.

В редакторе кода создаём новый Python-файл и пишем такой код — в нём мы создаём простое окно с кнопкой и текстом:

# подключаем библиотеки import PySimpleGUI as sg import random # что будет внутри окна # первым описываем кнопку и сразу указываем размер шрифта layout = [[sg.Button('Новое число',enable_events=True, key='-FUNCTION-', font='Helvetica 16')], # затем делаем текст [sg.Text('Результат:', size=(25, 1), key='-text-', font='Helvetica 16')]] # рисуем окно window = sg.Window('Генератор случайных чисел', layout, size=(350,100)) # запускаем основной бесконечный цикл while True: # получаем события, произошедшие в окне event, values = window.read() # если нажали на крестик if event in (sg.WIN_CLOSED, 'Exit'): # выходим из цикла break # закрываем окно и освобождаем используемые ресурсы window.close()

За размер окна отвечает параметр size в последней команде

Мы только что создали простой графический интерфейс, указав только три параметра: размер окна, кнопку и текстовое поле. Так как мы не задавали дополнительных параметров, библиотека сама разместила элементы внутри окна. Ещё у нас не прописана внутренняя логика, поэтому при нажатии на кнопку ничего не произойдёт. Исправим это и привяжем нажатие кнопки к появлению нового случайного числа.

Выдаём случайные числа

При создании кнопки мы использовали такой параметр:

Это значит, что при нажатии на кнопку окно отправит внутреннее системное сообщение с текстом -FUNCTION-. Если мы привяжем свою функцию к этому сообщению, то она будет выполняться при каждом нажатии кнопки.

Чтобы связать функцию с сообщением от окна, добавим в конец основного цикла такую проверку:

# если нажали на кнопку if event == '-FUNCTION-': # запускаем связанную функцию update()

Теперь у нас есть привязанная функция update(), но в коде её ещё нет. Исправим это и добавим новую функцию сразу после команд импорта:

# обрабатываем нажатие на кнопку def update(): # получаем новое случайное число r = random.randint(1,100) # получаем доступ к текстовому элементу text_elem = window['-text-'] # выводим в него текст с новым числом text_elem.update("Результат: <>".format(r))

При нажатии на кнопку скрипт обработает системное сообщение и начнёт выполнять эту функцию: создаст новое случайное число и отправит его в текстовое поле.

Собираем всё вместе и запускаем программу:

Готовый код

# подключаем библиотеки import PySimpleGUI as sg import random # обрабатываем нажатие на кнопку def update(): # получаем новое случайное число r = random.randint(1,100) # получаем доступ к текстовому элементу text_elem = window['-text-'] # выводим в него текст с новым числом text_elem.update("Результат: <>".format(r)) # что будет внутри окна # первым описываем кнопку и сразу указываем размер шрифта layout = [[sg.Button('Новое число',enable_events=True, key='-FUNCTION-', font='Helvetica 16')], # затем делаем текст [sg.Text('Результат:', size=(25, 1), key='-text-', font='Helvetica 16')]] # рисуем окно window = sg.Window('Генератор случайных чисел', layout, size=(350,100)) # запускаем основной бесконечный цикл while True: # получаем события, произошедшие в окне event, values = window.read() # если нажали на крестик if event in (sg.WIN_CLOSED, 'Exit'): # выходим из цикла break # если нажали на кнопку if event == '-FUNCTION-': # запускаем связанную функцию update() # закрываем окно и освобождаем используемые ресурсы window.close()

Что дальше

Мы сделали самый простой интерфейс и посмотрели, как можно связать внутреннюю логику и кнопки. В следующий раз используем это для более серьёзных проектов — нарисуем им свой интерфейс и научимся менять его внешний вид.

Любишь Python? Зарабатывай на нём!
Изучите самый модный язык программирования и станьте крутым бэкенд-разработчиком. Старт — бесплатно.

Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём!

Получите ИТ-профессию

В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *