Как написать свою первую программу на Python
Любая программа на Python — это обычный текстовый файл. Для того чтобы написать первую программу на Python, потребуется текстовый редактор.
Мы рекомендуем скачать редактор Sublime . Пользоваться им можно совершенно бесплатно. Изредка будет всплывать сообщение о том, что требуется оплата, но на начальном этапе на это можно не обращать внимание.
После установки запустите Sublime и в открывшемся окне наберите текст самой простой программы на Python для начинающих
print("Привет, мир!")
Здесь print — это функция, которая выполняет вывод текста заключенного в скобках, на экран. Стоит заметить, что закрыть скобку и поставить кавычки-обязательно, иначе в вашей программе будет ошибка, и интерпретатор не сможет ее выполнить.
Сохраните получившейся текстовый файл под именем hello.py
Чтобы проверить, как программа работает, запустите приложение терминала (командной строки). Для того чтобы сделать это в Windows, нажмите сочетание клавиш Win+R и в появившемся окне «Выполнить» введите cmd. Для запуска консоли в MacOS нажмите сочетание клавиш Command+пробел и введите Terminal в появившемся окошке spotlight.
В появившемся окне терминала нужно перейти в каталог, в котором находится сохраненный файл hello.py. Для перехода в нужный каталог используйте команду cd. Введите в строке приглашения терминала и нажмите Enter
cd путь/к папке/с программой
Если вы работаете в windows и программа сохранена в корне какого-либо диска, например диска D, наберите название диска, двоеточие и нажмите Enter
Для того чтобы запустить программу, наберите в терминале текст
python3 hello.py
если у вас MacOS или
python hello.py
если у вас Windows. Нажмите Enter.
Если все сделано правильно, то на экран будет выведена надпись
Привет, мир!
Поздравляем! Ваша первая программа написана!
Хотите выучить Python на практике?
Введение в создание приложений на Python
Python — это один из самых популярных языков программирования в мире. Он прост в изучении и использовании, и может быть использован для создания различных приложений, от консольных до веб-приложений и мобильных приложений.
Для начала работы с Python нужно установить интерпретатор Python и выбрать текстовый редактор или интегрированную среду разработки (IDE). Для создания приложений на Python необходимы также различные библиотеки и фреймворки, такие как Flask, Django, Tkinter, Kivy и др.
Чтобы научиться создавать веб-приложения с нуля и зарабатывать на этом, приходите на наш бесплатный интенсив по веб-разработке без кода. Мы поможем создать свой первый проект и расскажем, как привести его к окупаемости.
Создание консольного приложения на Python: простые шаги и лучшие практики
Консольное приложение — это приложение, которое запускается и выполняется в командной строке. Для создания консольного приложения на Python нужно создать файл с расширением .py и написать код в текстовом редакторе. В Python есть множество встроенных функций для работы с консолью, например, функции input() и print().
Для лучшей практики в разработке консольных приложений нужно следовать принципам DRY (Don’t Repeat Yourself) и KISS (Keep It Simple, Stupid). Это означает, что код должен быть читабельным и легко поддерживаемым.
Создание графического интерфейса пользователя с помощью библиотеки Tkinter
Tkinter — это стандартная библиотека для создания графического интерфейса пользователя (GUI) в Python. Она предоставляет набор виджетов и инструментов для создания интерактивных окон и диалоговых окон.
Для создания GUI на Tkinter нужно создать экземпляр класса Tk() и добавлять к нему различные виджеты, такие как кнопки, поля ввода и др. Также можно настраивать внешний вид и поведение виджетов с помощью атрибутов и методов.
Создание простого приложения на Python
Создание простого приложения на Python может быть легким и интересным заданием для начинающих разработчиков. Вот как можно создать простое приложение на Python:
Шаг 1: Создание нового файла Python
Начнем с создания нового файла Python. Откройте текстовый редактор или интегрированную среду разработки (IDE), такую как PyCharm или Visual Studio Code, и создайте новый файл с расширением «.py». Давайте назовем его «calculator.py».
Шаг 2: Написание кода приложения
Откройте файл «calculator.py» в выбранной вами IDE и добавьте следующий код:
В этом коде мы создаем функцию add_numbers , которая принимает два аргумента a и b и возвращает их сумму. Затем мы запрашиваем у пользователя ввод двух чисел, преобразуем их в числовой формат (используя float() ) и сохраняем их в переменные num1 и num2 . Далее мы вызываем функцию add_numbers с этими числами в качестве аргументов и сохраняем результат в переменной result . Наконец, мы выводим результат на экран.
Шаг 3: Запуск приложения
Сохраните файл «calculator.py» и запустите его. Вы можете выполнить это в своей IDE, нажав на кнопку «Запуск» или используя команду в терминале:
python calculator.py
Шаг 4: Тестирование приложения
После запуска приложение будет запрашивать у вас ввод двух чисел. Введите числа и нажмите Enter. После этого приложение выведет на экран сумму введенных чисел.
Вот пример работы приложения:
| Введите первое число: 2.5 Введите второе число: 4.3 Сумма чисел равна: 6.8 |
Это пример работы приложения, где были введены числа 2.5 и 4.3, и программа вывела сумму 6.8.
Создание простого приложения на Python может быть занимательным и познавательным опытом для тех, кто хочет начать свой путь в программировании. Хорошее знание основных конструкций языка и навыки тестирования и отладки помогут вам создать качественное приложение на Python.
На Zerocoder.ru есть курс «Создание мобильных приложений без программирования», который позволяет создать мобильное приложение без необходимости знания Python или других языков программирования. В этом курсе вы узнаете, как создать простое мобильное приложение на платформах glide и adalo.
Создание мобильных приложений на Python

Да, вы можете создавать мобильные приложения с использованием Python. Я этого не знал, но я достаточно давно заметил, что наш сайт ранжируется по запросу создание мобильных приложений на Python и мне стало интересно.
Существует несколько инструментов и фреймворков, которые помогут вам создать мобильные приложения на Python. Некоторые популярные варианты:
- Kivy: Kivy – это открытая библиотека Python для разработки многокасательных приложений. Она поддерживает платформы Android и iOS и позволяет создавать одну кодовую базу, которая может работать на обеих платформах. Kivy также имеет богатый набор элементов пользовательского интерфейса и довольно прост в изучении.
- BeeWare: BeeWare – это другой набор открытых инструментов и библиотек для создания мобильных приложений на Python. BeeWare включает набор виджетов, которые являются родными для каждой платформы, что обеспечивает внешний вид и ощущение вашего приложения как родного для Android и iOS. С помощью BeeWare вы можете написать свое приложение один раз и развернуть его на нескольких платформах.
- Chaquopy: Chaquopy – это плагин для Android Studio, который позволяет вам писать приложения для Android на Python. Он позволяет смешивать код Python и Java в одном проекте, что позволяет использовать существующие библиотеки и API Android при написании логики вашего приложения на Python.
Разберем чуть подробнее на примере Kivy. Она предоставляет инструменты и виджеты для разработки интерактивных приложений, работающих на разных операционных системах, таких как Windows, macOS, Linux, Android и iOS. Вот основные аспекты работы Kivy:
- Графический движок: Kivy использует OpenGL ES 2 (или выше) для отрисовки графики, что позволяет создавать аппаратно ускоренные и высокопроизводительные приложения. Он также предоставляет абстракцию от низкоуровневых графических вызовов, что делает работу с графикой проще для разработчиков.
- Интерфейс пользователя: Kivy предоставляет богатый набор виджетов и элементов пользовательского интерфейса (UI) для создания приложений. Виджеты в Kivy адаптивны и могут масштабироваться для различных размеров экрана и разрешений.
- События и ввод: Kivy поддерживает множество входных устройств и источников событий, таких как клавиатура, мышь, мультитач-экраны и другие. Он имеет встроенную систему событий, которая позволяет разработчикам управлять взаимодействием пользователя с приложением.
- Язык Kv: Kivy включает собственный язык разметки под названием Kv, который используется для определения пользовательского интерфейса и его свойств. Язык Kv позволяет разработчикам легко создавать сложные и гибкие интерфейсы с минимальным кодом Python.
- Кросс-платформенность: Kivy позволяет разработчикам создавать одну кодовую базу для приложения, которая будет работать на разных платформах. Это значительно снижает затраты на разработку и поддержку приложения.
Для начала работы с Kivy, вам нужно установить его с помощью pip:
pip install kivy
Затем вы можете создать свое первое приложение на Kivy, используя простой код Python:
from kivy.app import App from kivy.uix.button import Button class MyApp(App): def build(self): return Button(text='Hello, Kivy!') if __name__ == '__main__': MyApp().run()
Этот код создаст простое приложение с кнопкой и текстом “Hello, Kivy!”.
Обратите внимание, что Python может быть не лучшим выбором для всех типов мобильных приложений, особенно если вам требуется высокая производительность или широкое использование специфических для платформы API. В таких случаях вам может потребоваться использовать языки разработки нативных приложений, такие как Kotlin для Android или Swift для iOS. Однако для более простых приложений или прототипов Python может быть подходящим вариантом.
Kivy сам по себе не компилирует код Python в нативный код Android. Вместо этого Kivy использует инструмент под названием Buildozer, который автоматизирует процесс сборки Kivy-приложений для различных платформ, включая Android и iOS. Для Android Buildozer использует другой инструмент под названием Python for Android (Py4A или p4a).
Вот как Kivy и Buildozer работают вместе для компиляции приложения на Android:
- Установка Buildozer: Сначала вам нужно установить Buildozer с помощью pip:
pip install buildozer
- Создание спецификации проекта: Buildozer использует файл спецификации проекта ( buildozer.spec ) для настройки процесса сборки. Вы можете создать этот файл, запустив команду buildozer init в каталоге вашего проекта. Затем откройте файл buildozer.spec и настройте параметры в соответствии с вашим приложением.
- Компиляция приложения: Запустите следующую команду в каталоге вашего проекта, чтобы начать процесс сборки приложения для Android:
buildozer android debug deploy run
Обратите внимание, что весь код Python не компилируется в нативный код, а выполняется во встроенном интерпретаторе Python. Это может привести к более низкой производительности по сравнению с нативными приложениями Android, написанными на Java или Kotlin.
В общем вывод в том, что теоретически можно написать что угодно на чём угодно. Но если это возможно – совсем не значит, что вам следует это делать. Создание мобильных приложений на Python будет использовать несколько слоев и сторонних библиотек и кроме самых простых случаев, наверняка всегда будет работать криво.
Entrepreneur and full-stack web developer capable of multitasking and completing large-scale projects in a short period of time. Founder of moy-razmer.ru and nomadicsoft.io, large experience in e-commerce and various SaaS projects
Создание красивого Desktop-приложения на Python (customtkinter)
Если Вы, как и я, решили впервые взглянуть в сторону Python после нескольких попыток изучения С++/C# то скорее всего первым проектом станет desktop-приложение. Отходя от темы скажу что тяга к изучению этих языков была безнадежно утрачена в виду классического преподавания в духе «лишь бы сдали» и бесчисленных однотипных и монотонных лекций. Как я сказал выше хоть и на начальном уровне, но я всё же касался разработки приложений для Windows и поэтому мне хотелось посмотреть на принципы работы питона сначала отсюда(а не прыгать в django и прочие мощные фреймворки). Должен предупредить — в статье не приводятся выдержки из кода и она является скорее выражением моих эмоций, полученных за этот проект.
Какое приложение создавать?
В этом я не сомневался ни секунды и сразу выбрал — ТАЙМЕР! Я люблю засыпать под звуки фильмов с различных ресурсов, но то что после их окончания комп работал лишние 6 часов меня решительно не устраивало. Я конечно знаю про существование разного рода приложений с подобным функционалом(например SMtimer), но во-первых его UX/UI это просто привет нулевым, а во-вторых хотелось всё-таки своё.

Задачи намечены — время действовать
Посмотрев полтора гайда с youtube преисполнился и написал первый прототип с использованием стандартной библиотеки tkinter. Выглядело это весьма сомнительно с точки зрения того же UX/UI, но это уже было что-то

Тут каждый может заметить и сказать «но ведь это ещё хуже чем SMtimer» и будут правы, в целом и меня посещали такие мысли и я решил обратиться к поиску чего-то что сможет сделать из этого адекватное приложение которым я смогу пользоваться без зазрения совести.
CustomTkinter или как я пытался познать дзен
После недолгого поиска я нашел его — CustomTkinter. Он обещал буквально сделать из моего прототипа приложение, которое будто изначально было в Windows 10. Непосредственно exampl’ы вы можете смотреть ниже:


Вдобавок к этому библиотека обещала и минимальные правки кода для переноса моего «прототипа» на эту прелесть, но мне предстоял ещё большой путь в понимании как это тут работает.
Куча проблем и нехватка понимания
Именно так бы я описал свой путь в познании этой библиотеки. Буквально пытаясь взаимодействовать с ней я понял как устроены типы данных Python(да, может показаться смешным, но когда впервые встречаешь NoneType слегка удивляешься), понял как взаимодействовать с объектами классов и собственно разделять код проекта на функциональные блоки (что до этого мне казалось чем-то странным). Но для того чтобы понять насколько всё было грустно в моих познаниях — вот референс который я запилил от безысходности( на тот момент я хотел получить хотя бы это):

Проблем была целая гора — я решительно не мог понять как общаться с CusomTkinter — создание и позиционирование его объектов хоть сейчас и кажутся достаточно логичными и понятными, но тогда они были для меня сродни китайским иероглифам. После нескольких вечеров, проведённых за курением мануалов я смог собрать 3ю версию (её первая реинкарнация):

Получив это я уже был рад, что не сдался и приступил к починке расположения всех объектов по экрану. Однако следует упомянуть о «маленькая проблема» — в CustomTkinter нет SpinBox, а значит вводить данные было нужно либо с клавиатуры, либо искать как сделать этот самый SpinBox самому. Выбор пал на второй вариант, на сайте, посвященном самому ctk автор сделал FloatSpinBox, доработав который я уже мог получить то что хотел.

Главным его косяком было отсутствие реакции на колёсико мышки — для меня это было критично — нажимать 32 раза для установки минут меня не прельщало и я решил допилить его самостоятельно:
- Добавил min и max value — теперь я мог использовать этот класс и для минут и для часов (сначала я просто наспамил несколько классов где вручную установил ограничения для каждого из них)
- Реакция на колёсико мышки теперь охватывала весь SpinBox и это было чудесно. Если просто повесить обработчик на self.bind(«MouseWheel», self.on_mouse_wheel)» то срабатывание будет только на границах entry и элементах кнопок, что просто ужасно.
- Ну и конечно реализовал прокрутку в обратную сторону. Это так странно делать то что обычно реализовано уже за тебя. Ну и немного поиграл с темами самого customtkinter:


Наконец то, что я и хотел получить
Теперь я решил сделать вывод времени до срабатывания. Я прорабатывал разные версии этого таймера и пришел к тому что запилил TimeBox. Главное отличие — никаких кнопок. Вывод конечно же стал гораздо веселее.

После того как я насмотрелся на кастомные темы с просторов github я решил, что мне такого ужаса точно не нужно и вернулся к истокам — стандартной зелёной теме. Победив эффект циклопа (даже 3х) я добавил переключение тем и поправил логику приложения — перезагрузка. выключение, сон и блокировка работают на ура ну и два вида условий таймера — через промежуток времени и В конкретное время. Я был полностью доволен и буквально счастлив что теперь мне не нужно каждый день идти в планировщик заданий и выставлять время выключения вручную! Но тут я увидел то, что впоследствии переведет меня из Notepad++ (да, да, именно там я и писал свой проект до этого момента) в PyCharm. Это была библиотечка pywinstyles, обещающая эффекты прозрачности как из win7 но в стиле десятки. То что нужно.

Мне показалось это просто идеальным дополнением моей програмки. Запускаешь поверх фильма и не мешает и знаешь сколько времени осталось — красота. Но полное отсутствие документации и внятных sampl’ов заставило заново пересмотреть перспективы проекта. Я написал автору pywinstyles и с его описанием я таки смог заставить работать это всё вместе:

Если тут есть такие же странные люди, которые решат потрогать pywinstyles — будьте готовы к множеству проблем. К примеру после смены темы на прозрачную назад вернуть никак. Только перезапуск. У main_frame от ctk тут беловатый фон, что заставляет программу «сиять» на светлых фонах.
Выводы
Я получил то, что хотел и кучу необходимого опыта сверху. В будущем хочу реализовать автоматическую остановку таймера. В случае если фильм ставиться на паузу то и сам таймер останавливается. Как это реализовать при просмотре фильма из браузера я пока не знаю, но если у Вас есть идеи — с радостью почитаю.
