Что написано на python под windows

Обновлено: 07.07.2024

Python_ Системное программирование Windows_ Углубленное понимание_Часть 1

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

1. Программирование реестра

Для операционной системы Windows реестр является очень важной частью. Windows хранит в реестре почти всю информацию о поддержке программного и аппаратного обеспечения. Читая данные в реестре, вы можете получить соответствующую информацию о платформе Windows, такую ​​как список установленных служб и программ, список программ, которые запускаются автоматически после запуска, взаимосвязь между типами файлов и программами и т. Д. ; изменяя данные в реестре, можно продолжить детальную настройку системы Windows.
В реестре Windows есть следующие 5 корневых ключей.


  • HKEY_LOCAL_MACHINE(HKLM)
  • HKEY_CURRENT_CONFIG(HKCC)
  • HKEY_CLASSES_ROOT(HKCR)
  • HKEY_USERS(HKU)
  • HKEY_CURRENT_USER(HKCU)
    Введите regedit в оболочке Windows, чтобы открыть редактор реестра:

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

Для программирования реестра вы можете использовать модуль win32api и модуль win32con.Модуль win32api инкапсулирует функции Windows API и предоставляет очень удобный интерфейс. В этом модуле обычно используются 8 функций работы с реестром.

  • RegOpenKey()/RegOpenKeyEx() : Открыть реестр
  • RegCloseKey() : Закрыть реестр
  • RegQueryValue()/RegQueryValueEx() : Прочитать значение элемента
  • RegCreateKey()/RegCreateKeyEx() : Добавить элемент
  • RegDeleteKey() : Удалить пункт
  • RegEnumKey() : Перечислить подключи
  • RegDeletetValue() : Удалить значение

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


(Программа должна запускаться с правами администратора) Результаты:

Проверьте список программ, которые запускаются при старте системы


результат:

Другой распространенный способ управления реестром Windows - использование Python-модуля winreg, который предоставляет OpenKey() , DeleteKey() , DeleteValue() , CreateKey() , SetValue() , QueryValueEx() , EnumValue() с EnumKey() Большое количество методов доступа и работы с реестром.
Есть блог, в котором очень хорошо это резюмируется,Подробности

  • Следующий код демонстрирует использование модуля winreg для перечисления значений реестра:


результат:

2. Создайте исполняемый файл.

После преобразования программы Python в исполняемый файл версии .exe можно гарантировать ее запуск на платформе Windows, на которой среда Python не установлена. Чтобы преобразовать программу Python в исполняемый файл .exe, вам необходимо использоватьмодули py2exe и distutils

py2exe имеет определенные ограничения и может использоваться выше версии python2 или ниже версии python3.4

Например, сохраните приведенный выше код для определения списка программ, запускаемых при запуске системы, как файл CheckAndViewAutoRunsInSystem.py, а затем напишите файл setup.py с содержимым:

Наконец, выполните следующую команду в командной строке

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

Еще один лучший инструмент для упаковки программ Python - это pyinstaller, который можно передать

Установить инструмент.
После завершения установки используйте команду непосредственно в оболочке

Программа Python в текущем каталоге и зависимые от нее пакеты могут быть упакованы как python filename.exe.

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

3. Вызов внешней программы.

3.1 Используйте метод модуля os для вызова внешней программы

Используя указанный выше системный метод, вы также можете вызывать системные команды Windows, такие как dir, xcopy и т. Д., Но есть недостаток. Независимо от того, какая программа запущена, сначала будет запущено окно консоли, а затем вызываемая программа будет быть открытыми.
Вы также можете использовать метод popen () модуля os, чтобы открыть внешнюю программу, чтобы окно командной строки не отображалось.

Или вы можете использовать метод startfile () модуля os, чтобы открыть внешнюю программу или файл, и система автоматически свяжет соответствующую программу для открытия или выполнения файла.

3.2 Используйте модуль win32api для запуска внешней программы с помощью функции ShellExecute ()

При запуске программы или открытии файла таким образом он не откроет сначала cmd, как метод system () модуля os, и система автоматически свяжет соответствующую программу и откроет файл в соответствии с типом файла, аналогично двойным щелчком, чтобы открыть файл.

3.3 Запуск внешней программы путем создания процесса

3.4 Вызов кода библиотеки динамической компоновки через ctypes

  • ctypesЭто стандартный модуль расширения для Python для работы с библиотеками динамической компоновки. Он предоставляет типы данных, совместимые с языком C, и позволяет вызывать код в библиотеке динамической компоновки или общей библиотеке в программе Python, таким образом поддерживая смешанное программирование Python. и другие языки программирования, чтобы в полной мере раскрыть свои преимущества. Их преимущества значительно повышают эффективность разработки и допустимую эффективность.
  • Кроме того,NumPyМодуль также предоставляет функцию numpy.ctypeslib.load_library() Он используется для открытия указанной библиотеки динамической компоновки и возврата объекта ctypes, через который можно получить доступ к функциям в библиотеке динамической компоновки.
  • Или используйтеSciPyМодуль Weave библиотеки также может легко встраивать программы на C ++ в программы Python в виде строк.

ctypes предоставляет 3 метода для вызова библиотеки динамической компоновки:

  • cdll: функция, экспортируемая библиотекой, загруженной cdll, должна использовать стандартное соглашение о вызовах cdecl (параметры функции помещаются в стек справа налево. После выполнения функции вызывающая функция отвечает за стек. баланс кадра функции)
  • windll: функции, экспортируемые библиотекой, загруженной windll, должны использовать соглашение о вызовах stdcall (собственное соглашение Win32 API)
  • oledll: метод oledll похож на windll, но предположим, что функция возвращает код ошибки HRESULT

Следующий код вызывает функцию MessageBoxA () в библиотеке динамической компоновки Windows user32.dll для отображения диалогового окна:

Или используйте более сжатую форму ниже:

Следующий код вызывает функцию printf () в стандартной библиотеке функций C msvcrt для вывода текста:

Или воспользуйтесь следующей формой:

Приведенная выше программа выводит количество символов в jupternotebook вместо символов. Если вы сохраните приведенный выше код в виде файла .py, вы можете вывести строку, запустив ее с помощью команды python.
ctypesПредоставляет типы данных, совместимые с языком C, но при использовании структуры языка C в Python ее необходимо переписывать по классам. В следующей таблице показаны соответствующие отношения основных типов:

ctypes тип Тип C Тип Python
c_bool _Bool bool (1)
c_char char Односимвольный байтовый объект
c_wchar wchar_t Строка из одного символа
c_byte char Целое число
c_ubyte unsigned char Целое число
c_short short Целое число
c_ushort unsigned short Целое число
c_int int Целое число
c_uint unsigned int Целое число
c_long long Целое число
c_ulong unsigned long Целое число
c_longlong __int64 Или же long long Целое число
c_ulonglong unsigned __int64 Или же unsigned long long Целое число
c_size_t size_t Целое число
c_ssize_t ssize_t Или же Py_ssize_t Целое число
c_float float Плавающая точка
c_double double Плавающая точка
c_longdouble long double Плавающая точка
c_char_p char * (NUL terminated) Объект Bytestring или None
c_wchar_p wchar_t * (NUL terminated) Строка или None
c_void_p void * int или None

Перечислить список процессов


результат:

Удовольствие от написания 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 одна из крупнейших коллекций библиотек, упрощающих и улучшающих жизнь разработчика.

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-репозиториев, популярных инструментов и библиотек.

100+ крутых проектов, созданных с помощью Python

100+ крутых проектов, созданных с помощью Python


Frets on Fire X − приложение с поддержкой игры на гитаре, басу, ударных и вокала
Lucas Chess − шахматный клиент для Windows
PyChess − продвинутый шахматный клиент
PySolFC − коллекция карточных игр
Unknown Horizons − 2D-симулятор стратегии про экономику и городское строительство

    − система резервного копирования с дополнительным шифрованием − автоматизация рабочего стола для Linux и X11 − программа для очистки диска − система резервного копирования на основе git packfile − веб-интерфейс для извлечения табличных данных из PDF-файлов − инструмент для резервного копирования учетных записей gmail − программа для массового переименования файлов и папок − Non-Visual Desktop Access − программа для чтения с экрана для Windows − консольный файловый менеджер, вдохновленный vim

100+ крутых проектов, созданных с помощью Python


Calibre − менеджер электронных книг, предназначенный для просмотра, конвертации, редактирования
CherryTree − личный блокнот, похожий на вики, с подсветкой текста и синтаксиса
Gramps − ПО для любителей генеалогии
Invenio − платформа для запуска доверенного цифрового хранилища
PyMedusa − менеджер видео-библиотеки для ТВ-шоу, с автозагрузкой
Radicale − простой CalDAV (календарь) и CardDAV (контакт) сервер
WiKID Pad − блокнот для записи мыслей
Zim Wiki − вики для ведения заметок, составления списков и черчения

100+ крутых проектов, созданных с помощью Python

    − настольное приложение для запоминания с помощью флеш-карт − программа с интервальным повторением для эффективного запоминания − приложение на основе Jupyter, которое позволяет преподавателям создавать и оценивать задания − платформа для создания онлайн-курсов

100+ крутых проектов, созданных с помощью Python

    − система математического моделирования химических процессов − интерактивное исследование данных, анализ и классификация наборов биологических изображений − совместные вычисления в облаке с поддержкой научного стека Python, SageMath, R, LaTeX, Markdown. Также имеется чат, управление курсами и другие функции − веб-платформа, помогающая исследователям загружать свои статьи в репозитории открытого доступа − универсальный инструмент для визуализации научных данных − научные 2D и 3D графики, предназначенные для создания готовых к публикации PDF или SVG-графиков

100+ крутых проектов, созданных с помощью Python

    − ПО с открытым исходным кодом, для управления бизнесом компании − система управления контентом на основе инфраструктуры Django с контролем версий, поддержкой нескольких сайтов и многим другим − основанная на Django система управления контентом с упором на мировые новостные сайты и интернет-журналы − гибкая платформа управления контентом, построенная на платформе Django − расширяемая система управления корпоративным контентом, основанная на Zope − система управления контентом для обмена видео на основе Plone − модульная e-commerce площадка на базе Django, GraphQL и ReactJS − система управления контентом, ориентированная на гибкость и удобство использования

100+ крутых проектов, созданных с помощью Python

    − веб-система ERP, CRM, DMS и Big Data с сотнями встроенных модулей, разработанная для масштабируемости − веб-система ERP с учетом, инвентаризацией, CRM, продажами, закупками, управлением проектами и HR. Построен на Frappe и MariaDB. − ERP и CRM со множеством встроенных модулей − модульная веб-ERP, предназначенная для компаний всех размеров

100+ крутых проектов, созданных с помощью Python

    − генератор страниц с использованием шаблонов Django − генератор со встроенной поддержкой списков − генератор статических страниц со встроенной консолью администратора − настраиваемый генератор с поддержкой Markdown, reST, Jupyter и HTML − генератор с поддержкой синтаксисов Markdown и reST

100+ крутых проектов, созданных с помощью Python

    − кросс-платформенная оболочка для GUI git − распределенная и клиент-серверная система контроля версий − система отслеживания исправлений в коде − платформа для управления исходным кодом − система отслеживания проблем с интерфейсами, сетью и электронной почтой − браузерный интерфейс для CVS и контроля субверсий

Обзор кода

100+ крутых проектов, созданных с помощью Python

    − средство визуального сравнения файлов и каталогов, поддерживающее многие системы контроля версий, включая Git, Mercurial, Bazaar и Subversion − инструмент для проверки кода проектов − основанный на Django инструмент для совместного анализа кода для Subversion

100+ крутых проектов, созданных с помощью Python

    − автоматизация на основе playbook − удаленное резервное копирование и аварийное восстановление для PostgreSQL − установочный сервер Linux, который позволяет быстро настроить среды сетевой установки − демон для запрета хостов, которые вызывают ошибки аутентификации на серверах Linux − инструмент управления виртуальными машинами, основанный на существующих технологиях виртуализации, таких, как Xen и KVM − разветвленный WSGI-сервер, запущенный как аналог Unicorn − автоматизированная система оповещения о происшествиях, разработанная и используемая в LinkedIn − менеджер процессов − облачная операционная система, которая управляет пулами вычислительных ресурсов, хранилищ и сетевых ресурсов в центре обработки данных − интерактивный клиент PostgreSQL, выполняющий автозаполнение и подсветку синтаксиса − архивирование файлов PostgreSQL WAL и резервных копий

Безопасность

100+ крутых проектов, созданных с помощью Python

    − редактор Python и IDE, основанные на Qt, с интегрированным управлением Scintilla − текстовый редактор GNOME − веб-среда для интерактивных вычислений − многоязычный редактор кода, написанный на JS, Python и C ++, основанный на платформе Mozilla − менеджер персональной информации − небольшой, простой редактор, разработанный для начинающих программистов на Python − кросс-платформенная IDE Python с управлением проектами, линтингом, расширениями − UTF-8 редактор для MATE − научная среда для ученых, инженеров и аналитиков данных с использованием Python − среда разработки Python для начинающих, предназначенная для обучения программированию

Пакетные менеджеры

Image result for packet manager

    − независимый от ОС системный менеджер двоичных пакетов и экосистема, с акцентом на Python − Dandified YUM (DNF) − преемник yum − менеджер пакетов Python − обертка вокруг pip, virtualenv и pip-tools для более комфортного процесса управления пакетами − независимый подход к управлению зависимостями и пакетированию в Python − система управления пакетами, созданная и используемая Gentoo Linux, а также Chrome OS, Sabayon и Funtoo Linux − автоматическое средство обновления и установки/удаления пакетов для систем на основе RPM (Fedora, RHEL)

100+ крутых проектов, созданных с помощью Python

    − зеркальный клиент PyPI, соответствующий PEP 381 − промежуточный сервер PyPI, а также инструмент для упаковки, тестирования, выпуска, с веб-интерфейсом и интерфейсом поиска − как PyPI − серверное программное обеспечение, поддерживающее PyPI, откуда загружается большинство библиотек Python

Создание

100+ крутых проектов, созданных с помощью Python

    − механизм выполнения задач, позволяющий эффективно и параллельно выполнять задачи оболочки и Python при работе в рамках сложных ограничений зависимости между задачами − система планирования с учетом потребностей непрерывной интеграции и упаковки программного обеспечения − инструмент автоматизации развертывания − AKA 'Generate Your Projects', система сборки, которая генерирует другие системы сборки − система сборки, рассчитанная на скорость и удобство использования − сборка системы, предназначенной для монолитных хранилищ

Shell

    − новая оболочка, совместимая с bash и dash, с улучшенным собственным языком − кросс-платформенный язык оболочки и командная строка. Язык является расширенным набором Python 3.4+ с дополнительными примитивами оболочки.

Это пошаговое руководство для начинающих работу с Python в Windows 10.

Настройка среды разработки

Для начинающих, которые не знакомы с Python, рекомендуется установить Python из Microsoft Store. При установке из Microsoft Store используется базовый интерпретатор Python3, но в дополнение к автоматическому обновлению также настраиваются параметры пути для текущего пользователя (без необходимости доступа администратора). Это особенно полезно, если вы работаете из среды образовательного учреждения или являетесь частью организации, которая ограничивает разрешения или административный доступ на компьютере.

Установка Python

Чтобы установить Python с помощью Microsoft Store, сделайте следующее:

Перейдите в меню Пуск (значок Windows в нижнем левом углу), введите "Microsoft Store" и щелкните ссылку, чтобы открыть магазин.

Когда магазин откроется, выберите Поиск в верхнем правом меню и введите "Python". Выберите, какую версию Python вы хотите использовать, из результатов в разделе «Приложения». Мы рекомендуем использовать самую последнюю версию, если только у вас нет причин для обратного (например, по причине согласования с версией, использованной в уже существующем проекте, над которым вы планируете работать). Определив, какую версию вы хотите установить, выберите Получить.

После того как Python завершит процесс загрузки и установки, откройте Windows PowerShell, используя меню Пуск (значок Windows в нижнем левом углу). После открытия PowerShell введите Python --version , чтобы убедиться, что Python 3 установлен на компьютере.

Установка Python из Microsoft Store содержит стандартный диспетчер пакетов pip. Pip позволяет устанавливать дополнительные пакеты, которые не входят в стандартную библиотеку Python, и управлять ими. Чтобы убедиться, что у вас есть pip, который можно использовать для установки пакетов и управления ими, введите pip --version .

Установка Visual Studio Code

При использовании VS Code в качестве текстового редактора или интегрированной среды разработки (IDE) вам доступны IntelliSense (помощь в завершении кода), анализ кода (помогает избежать ошибок в коде), поддержка отладки (помогает находить ошибки в коде после запуска), фрагменты кода (шаблоны для небольших повторно используемых блоков кода) и модульное тестирование (тестирование интерфейса кода с различными типами входных данных).

VS Code также содержит встроенный терминал, который позволяет открывать командную строку Python с помощью командной строки Windows, PowerShell или любой другой, создавая простой рабочий процесс между редактором кода и командной строкой.

Установив VS Code, необходимо также установить расширение Python. Для установки расширения Python можно выбрать ссылку на VS Code в Marketplace или открыть VS Code и выполнить поиск по фразе Python в меню расширений (Ctrl+Shift+X).

Python — интерпретируемый язык, и для выполнения кода Python необходимо указать VS Code, какой интерпретатор нужно использовать. Мы рекомендуем использовать самую последнюю версию Python, если у вас нет особой причины для обратного. После установки расширения Python выберите интерпретатор Python 3, открыв палитру команд (CTRL+SHIFT+P), и начните вводить команду Python: Select Interpreter (Python: выбор интерпретатора) для поиска, а затем выберите появившуюся команду. Вы также можете использовать параметр Select Python Environment (Выбрать среду Python) в нижней строке состояния, если она доступна (возможно, уже отображается выбранный интерпретатор). Команда предоставляет список доступных интерпретаторов, которые VS Code может найти автоматически, включая виртуальные среды. Если нужный интерпретатор не отображается, перейдите к статье о настройке сред Python.

Чтобы открыть терминал в VS Code, выберите Просмотр > Терминал или используйте клавиши CTRL+` (символ обратного апострофа). Терминалом по умолчанию является PowerShell.

В окне терминала VS Code откройте Python, просто введя команду: python

Попробуйте использовать интерпретатор Python, введя: print("Hello World") . Python вернет фразу "Hello World".

Командная строка Python в VS Code

Установка Git (необязательно)

Если вы планируете совместно работать над кодом Python с другими пользователями или размещать проект на сайте с открытым исходным кодом (например, GitHub), примите во внимание, что VS Code поддерживает управление версиями с помощью Git. Вкладка системы управления версиями в VS Code отслеживает все изменения и содержит общие команды Git (добавление, фиксация, принудительная отправка, извлечение) прямо в пользовательском интерфейсе. Сначала необходимо установить Git для включения панели управления версиями.

Скачайте и установите Git для Windows с веб-сайта git-scm.

В комплект входит мастер установки, который задает вам ряд вопросов о параметрах установки Git. Рекомендуется использовать все параметры по умолчанию, если у вас нет конкретной причины изменить какой-либо из них.

Если вы никогда не использовали Git, обратитесь к руководствам по GitHub. Они помогут вам приступить к работе.

Учебник по некоторым основам работы с Python (на примере Hello World)

Python, согласно его создателю Гвидо ван Россуму, — это "язык программирования высокого уровня, и его основная философия проектирования — это удобочитаемость кода и синтаксис, позволяющий программистам выразить концепции в нескольких строках кода".

Python — интерпретируемый язык. В отличие от скомпилированных языков, в которых написанный код необходимо перевести в машинный код для выполнения процессором компьютера, код Python передается непосредственно интерпретатору и запускается напрямую. Просто введите код и запустите его. Попробуем сделать это!

Откройте командную строку PowerShell и введите python , чтобы запустить интерпретатор Python 3. (В некоторых инструкциях указано использовать команду py или python3 , которые также подойдут.) Если вы делаете все правильно, появится командная строка с тремя символами "больше, чем" (>>>).

Существует несколько встроенных методов, позволяющих вносить изменения в строки в Python. Создайте переменную с помощью команды variable = 'Hello World!' . Нажмите клавишу ВВОД для создания новой строки.

Выведите переменную с помощью команды print(variable) . Отобразится текст "Hello World!".

Выясните, сколько символов используется для переменной строки, с помощью команды len(variable) . Будет показано, что используется 12 символов. (Обратите внимание, что пробел учитывается как символ в общей длине.)

Преобразуйте строковую переменную в буквы верхнего регистра: variable.upper() . Теперь преобразуйте строковую переменную в буквы нижнего регистра: variable.lower() .

Подсчитайте, сколько раз буква "l" используется в строковой переменной: variable.count("l") .

Найдите определенный символ в вашей строковой переменной. Давайте найдем восклицательный знак с помощью команды variable.find("!") . Будет показано, что восклицательный знак находится в позиции 11 строки.

Замените восклицательный знак на вопросительный знак: variable.replace("!", "?") .

Чтобы выйти из Python, введите exit() , quit() или нажмите клавиши CTRL+Z.

Снимок экрана PowerShell для этого учебника

Надеемся, вам понравилось использовать некоторые из встроенных в Python методов модификации строк. Теперь попробуйте создать файл программы Python и запустить его с помощью VS Code.

Учебник по использованию Python с VS Code (на примере Hello World)

Команда VS Code составила отличный учебник по началу работы с Python с пошаговым руководством по созданию программы Hello World с помощью Python, запуску программного файла, настройке и запуску отладчика, а также установке пакетов, таких как matplotlib и numpy, для создания графического изображения в виртуальной среде.

Откройте PowerShell и создайте пустую папку с именем hello, перейдите в эту папку и откройте ее в VS Code:

После открытия среды VS Code, где показана новая папка hello в левом окне обозревателя, откройте окно командной строки в нижней панели VS Code, нажав CTRL+` (символ обратного апострофа) или выбрав Просмотр > Терминал. После запуска VS Code в папке эта папка станет вашей рабочей областью. VS Code хранит параметры, относящиеся к этой рабочей области, в файле .vscode/settings.json. Они отделены от параметров пользователя, которые хранятся глобально.

Продолжайте работу с учебником в документации для VS Code: Сведения о создании файла исходного кода для Hello World на Python.

Создание простой игры с помощью Pygame

Запуск примера игры с помощью Pygame

Pygame — это популярный пакет Python для создания игр, который позволяет учащимся изучать программирование увлекательным способом. Pygame отображает графические изображения в новом окне, поэтому метод "только командной строки" WSL не подойдет. Но если вы установили Python с помощью Microsoft Store, как описано в этом учебнике, все получится.

После установки Python установите Pygame из командной строки (или терминала в VS Code), введя python -m pip install -U pygame --user .

Протестируйте установку, запустив пример игры: python -m pygame.examples.aliens

Если все в порядке, откроется окно игры. По завершении игры закройте окно.

Вот как начать написание кода собственной игры:

Откройте PowerShell (или командную строку Windows) и создайте пустую папку с именем bounce. Перейдите к этой папке и создайте файл с именем bounce.py. Откройте папку в VS Code:

С помощью VS Code введите следующий код Python (или скопируйте и вставьте его):

Сохраните его как: bounce.py .

Запустите его в терминале PowerShell, введя: python bounce.py .

Выполнение следующей задачи в Pygame

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

Материалы для непрерывного обучения

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

Онлайн-курсы для изучения Python

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

Python на Pluralsight: 8 курсов, 29 часов. Схема обучения Python на Pluralsight предлагает онлайн-курсы, охватывающие различные темы, связанные с Python, включая средство для измерения навыков и поиска пробелов в знаниях.

Работа с Python в VS Code

Редактирование Python в VS Code. Узнайте больше о том, как воспользоваться преимуществами автозаполнения VS Code и поддержкой IntelliSense для Python, включая их настройку или отключение.

Анализ кода Python. Анализ кода — это процесс запуска программы, которая будет анализировать код на наличие возможных ошибок. Узнайте о различных формах поддержки анализа кода VS Code для Python и о том, как выполнить его настройку.

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

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

Читайте также: