- 13 GUI-библиотек Python
- Python
- Графический интерфейс пользователя (GUI)
- GUI-библиотека
- Python GUI
- 1. Tkinter
- 2. Flexx
- 3. CEF Python
- 4. Dabo
- 5. Kivy
- 6. Pyforms
- 7. PyGObject
- 8. PyQt
- 9. PySide
- 10. PyGUI
- 11. libavg
- 12. PyGTK | PyGObject
- 13. wxPython
- Заключение
- Выбираем самый удобный редактор кода Python
- 1. Python IDLE
- 2. Sublime Text
- 3. Visual Studio Code
- 4. Jupyter Notebook
- 5. PyСharm
- 6. Thonny
- 7. Spyder
- 8. Atom
- 9. VIM
- 10. Notepad++
- 11. Онлайн редакторы
13 GUI-библиотек Python
Перевод статьи markdrozdov “13 Python GUI Libraries”.
Python
Python это высокоуровневый язык программирования, он используется как язык общего назначения. Этот язык был создан Гвидо ван Россумом и впервые выпущен в 1991 году. Философия проектирования Python фокусируется на читаемости кода. Для этой цели в языке используется значительное количество пробелов.
Python предоставляет конструкции, позволяющие программировать к в малых, так и в больших масштабах. У этого языка очень большая стандартная библиотека. Он относится к языка с динамической типизацией. Также в нем есть автоматическое управление памятью.
Python поддерживает множество парадигм программирования, включая:
Графический интерфейс пользователя (GUI)
GUI это человеко-компьютерный интерфейс. Другими словами, это способ, с помощью которого люди могут взаимодействовать с компьютерами.
Он использует окна, значки, меню. Манипулировать GUI можно как с помощью мышки, так и с помощью клавиатуры.
GUI-библиотека
GUI-библиотека содержит виджеты. Виджеты это наборы графических элементов управления.
При создании GUI программы обычно используется каскадный способ. Графические элементы управления добавляются поверх друг друга.
Python GUI
Когда вы пишете приложение с помощью Python, вам для этого понадобится использовать GUI.
Существует много вариантов Python GUI. Есть больше 30 кросс-платформенных фреймворков для программирования GUI на Python. 13 из них перечислены и кратко охарактеризованы ниже. (Возможно, вам будут интересны и другие библиотеки Python, о которых мы писали ранее).
1. Tkinter
Tkinter это набор инструментов, который может формировать GUI с помощью Python. Он позволяет вам запускать сценарии на Python в GUI-формате. Ссылка ведет на страницу с руководством по Tkinter.
2. Flexx
Многие GUI-библиотеки Python основаны на библиотеках, написанных на других языках, таких как C ++. Например, wxWidgets и libavg. Flexx создана на Python. Для отображения GUI использует веб-технологию.
3. CEF Python
Этот фреймворк нацелен на Windows, MAC OS и Linux. Основан на Google Chromium. Основное внимание в нем уделяется облегчению использования встроенного браузера в сторонних приложениях.
4. Dabo
Цель этого фреймворка – WxPython. Это трехуровневый фреймворк для разработки кросс-платформенных приложений.
5. Kivy
Kivy основан на OpenGL ES 2. У него есть собственный multi-touch для каждой отдельной платформы. Это событийно-ориентированный фреймворк, который прекрасно подходит для разработки игр.
6. Pyforms
Pyforms это фреймворк Python 2.7/3.x для разных окружений, используемый для разработки GUI приложения. В нем поощряется повторное использование кода.
7. PyGObject
С помощью PyGObject вы можете писать на Python приложения для проекта GNOME. Также можно писать приложения на Python, использующие GTK+.
8. PyQt
Qt это кросс-платформенный фреймворк. Он написан на С++. Это очень полная библиотека, включающая много инструментов и API. Широко используется во многих отраслях. Охватывает множество платформ.
9. PySide
Обёртка для Qt. PySide и PyQt отличаются тем, что последний является коммерчески доступным.
10. PyGUI
PyGUI предназначен для платформ Unix, Macintosh и Windows. Фокус этого MVC-фреймворка заключается в том, чтобы вписываться в экосистему Python с максимальной легкостью.
11. libavg
Это сторонняя библиотека, написанная на С++. Обладает следующими особенностями:
- показ элементов в форме переменных Python;
- система управления событиями;
- таймеры;
- поддержка логов.
12. PyGTK | PyGObject
«GTK+», широко используемая в Linux, является «GTK + «обёртка из» PyGTK». По сравнению с Kivy и PyQt, PyGTK очень легок для платформ Unix, Macintosh, Windows.
Этот MVC-фреймворк разработан Грегом Эвингом из университета Кентербери (Новая Зеландия). Его главный фокус – как можно более простая адаптация к экосистеме Python.
13. wxPython
Обертка кросс-платформенного GUI для Python на основе wxWidgets. Написана на С++.
Заключение
Приведенный выше список GUI-фреймворков покрывает большую часть нужд разработчика. Выбор зависит от ваших потребностей.
Выбираем самый удобный редактор кода Python
Львиную долю своего рабочего времени программисты проводят в редакторах кода. В такой ситуации комфортность и удобство рабочей среды трудно переоценить. Конечно, писать код можно и в простейшем текстовом редакторе и сохранять в .html, но с продвинутым редактором это не сравнится. Особенно если редактор ориентирован на конкретный язык. Так как питон был и остается основным языком, используемым в Data Science, и именно ему мы уделяем особое внимание на наших курсах, делимся с вами переводом статьи, автор которой пишет о знакомых ему редакторах и о том, что он считает привлекательным в них.
Примечание автора: каждый упомянутый в этой статье редактор хорош по-своему. Список — это только краткое руководство, основанное на моем личном опыте. Одни редакторы могут нравиться вам больше других. В конце концов, выбор редактора или среды разработки за вами. Нет неправильного или правильного выбора.
1. Python IDLE
IDLE — редактор, поставляемый вместе с Python. Это базовый, упрощенный режим программирования на Python. Тем не менее, IDLE хороший редактор для начала программирования и понимания основ языка. В нем есть оболочка Python — интерактивный интерпретатор. Его возможности обширны: автозавершение кода, подсветка синтаксиса, подбор отступа и базовый встроенный отладчик.
2. Sublime Text
Sublime Text — свободное программное обеспечение с широкой поддержкой сообщества. Редактор работает с несколькими языками программирования. В большинстве случаев можно использовать незарегистрированный Sublime Text, но время от времени вы будете получать всплывающее окно с просьбой зарегистрировать продукт и приобрести лицензию. Sublime Text тонко настраивается и дополняется пакетами для отладки, автозавершения кода, линтинга и т.д.
- Простой и по большей части бесплатный.
- Тонко настраивается.
- Компактный и эффективный.
3. Visual Studio Code
Visual Studio Code — бесплатный редактор кода от Microsoft для Windows, Linux и MacOS. Его возможности — отладка, подсветка синтаксиса, интеллектуальное завершение кода, предопределённые фрагменты кода, рефакторинг и интеграция с Git. Поддерживаются различные языки программирования. Для начала работы с Python может понадобиться несколько дополнительных пакетов, но установить их довольно просто. Редактор постоянно обновляется. Visual Studio Code — один из лучших редакторов не только для Python, но и для других языков программирования. Я часто пользуюсь VSC и очень рекомендую его.
- Это фантастическая платформа с непрерывными обновлениями.
- Потребляет немного памяти по сравнению с другими громоздкими инструментами разработки.
- Имеет встроенный терминал и прост в использовании.
4. Jupyter Notebook
Jupyter Notebook — это веб-приложение с открытым исходным кодом, позволяющее создавать документы с выполняемым интерактивно кодом, уравнениями, визуализациями, простым текстом. Конечно, такими документами просто поделиться. Jupyter Notebook используется для очистки и преобразования данных, численного и статистического моделирования, визуализации данных, машинного обучение и многого другого. Этот редактор — хороший вариант для начала работы с наукой о данных и машинным обучением. Файлами можно поделиться с кем угодно, они помогают эффективнее работать с кодом. Я настоятельно рекомендую Jupyter Notebook, поскольку можно работать с каждым блоком кода отдельно. Также есть возможность использовать разметку. Среда Jupyter Notebook широко используется во многих успешных компаниях.
- Лучшая платформа для начала работы с наукой о данных.
- Легко делиться файлами и визуализациями.
- Разметка и другие дополнительные функции.
5. PyСharm
PyCharm — это интегрированная среда разработки специально для Python. Разработана чешской [прим. перев. — автор ориентируется на расположение головного офиса] компанией JetBrains. Редактор разработан специально для Python, так что имеет широкий набор возможностей, таких как автозавершение и инспекции кода, подсветка ошибок, исправления, отладка, система контроля версий и рефакторинг. IDE доступна на Microsoft Windows, Linux и MacOS. Есть бесплатная и платная профессиональная версии. Профессиональная IDE имеет несколько дополнительных функций, но бесплатной версии достаточно для большинства задач. Я настоятельно рекомендую PyCharm, если у вас есть как минимум 8 Гб оперативной памяти.
- Имеет важные встроенные функции.
- Разработана профессионалами специально для Python.
- Поддерживает виртуальные среды Anaconda.
- Основная проблема PyCharm: если у вас недорогой ПК или ноутбук и в нем нет 8 Гб оперативной памяти, то IDE немного притормаживает и работает довольно медленно.
6. Thonny
IDE Thonny предустановлена на системы Linux и системы на ее основе. Мой опыт работы с этим редактором в основном связан с Raspberry Pi. Это отличная, простая среда разработки для начинающих. Thonny хорошо подходит Raspberry Pi. Некоторые возможности: подсветка синтаксических ошибок, отладчик, автозавершение кода, пошаговое вычисление выражений.
- Интерактивная среда.
- Подходит для начинающих.
- Может использоваться для проектов Raspberry Pi.
7. Spyder
Spyder — это мощная научная интегрированная среда программирования, написанная на Python, для Python. Она разработана учеными, инженерами и аналитиками данных для них самих. Spyder обладает уникальным сочетанием возможностей. Продвинутое редактирование, анализ, отладка и профилирование сочетается с возможностями исследования данных, интерактивного выполнения, глубокой инспекции кода и красивой визуализацией. Установить Spyder просто: скачайте его как часть дистрибутива Anaconda. Разработчики рекомендуют последнюю 64-битную версию Python 3, если у вас нет особых требований.
- Бесплатный редактор, поставляется с Anaconda.
- Хорошее рабочее окружение для просмотра интерпретаций и кодирования в два окна.
- Широкий выбор опций исключительно для Python.
8. Atom
Эта IDE похожа на текстовый редактор Sublime. Она очень настраиваемая и поддерживает многие необходимые пакеты. У меня меньше опыта работы с этим редактором, поэтому я рекомендую скорее Sublime Text, чем Atom. Но перечислю некоторые часто используемые пакеты Atom для разработки на Python: autocomplete-python , linter-flake8 , python-debugger .
9. VIM
Vim — это текстовый редактор, предустановленный в системах MacOS и UNIX. Большинство экспертов любят vim за развитые вычислительные возможности и легкую, компактную среду разработки. Он не рекомендуется начинающим, так как изучать его трудно. Можно добавить плагины подсветки синтаксиса, автозавершения кода, отладки, рефакторинга и другие к Vim и использовать его как Python IDE. [Прим. перев. На скриншоте GVim — версия Vim с графическим интерфейсом].
10. Notepad++
Notepad++ — это редактор текста и исходного кода, работающий на Microsoft Windows. Поддерживается редактирование с вкладками, что позволяет работать с несколькими открытыми файлами в одном окне. Название проекта происходит от оператора инкремента языка С. Notepad++ распространяется как свободное программное обеспечение. Редактор поддерживает множество языков программирования и может быть полезным. На мой взгляд, есть и лучшие варианты. Кроме того, нужно установить дополнительные пакеты, чтобы сделать редактор функциональным для программирования на Python.
- Заменяет блокнот.
- Может использоваться для нескольких языков программирования, включая Python.
- Требуется дополнительная настройка и установки плагинов, чтобы работать с Python.
- Не в топе рекомендаций: есть много вариантов получше.
11. Онлайн редакторы
На Programiz, tutorials point, w3schools и некоторых других сайтах есть редакторы с удивительными возможностями.
- Никаких дополнительных установок и настроек.
- Простой код запускается без особых хлопот.
Расскажите, в каком редакторе для Python вы пишете код и почему?
Получить востребованную профессию с нуля или Level Up по навыкам и зарплате можно, пройдя онлайн-курсы SkillFactory:
- Курс по Machine Learning
- Курс «Математика и Machine Learning для Data Science»
- Продвинутый курс «Machine Learning Pro + Deep Learning»
- Курс по аналитике данных
- Курс по DevOps
- Профессия iOS-разработчик с нуля
- Профессия Android-разработчик с нуля
- Профессия Java-разработчик с нуля
- Курс по JavaScript
- Профессия UX-дизайнер с нуля
- Профессия Web-дизайнер