Рассказываем как легко узнать самое короткое расстояние между двумя точками земли
Геодезическое расстояние — это длина кратчайшего пути между двумя точками на любой поверхности Земли. В следующем примере мы покажем, как пользователь может вычислить геодезическое расстояние на основе данных широты и долготы.
В примере узнали, что расстояние между городами Нью-Йорк и Техас 2507 километров.
#python
Геодезическое расстояние — это длина кратчайшего пути между двумя точками на любой поверхности Земли. В следующем примере мы покажем, как пользователь может вычислить геодезическое расстояние на основе данных широты и долготы.
В примере узнали, что расстояние между городами Нью-Йорк и Техас 2507 километров.
#python
Вычисляем ip-адрес своего компьютера
Для этого используется библиотека requests для отправки HTTP-запроса к веб-сервису ipify, который предоставляет API для определения публичного IP-адреса пользователя. Код написан в форме функции get_public_ip, что делает его удобным для повторного использования.
Использование блока try-except обеспечивает обработку исключений, которые могут возникнуть при запросе (например, проблемы с подключением к интернету). Если запрос успешен, функция возвращает IP-адрес, иначе возвращает сообщение об ошибке.
#python
Для этого используется библиотека requests для отправки HTTP-запроса к веб-сервису ipify, который предоставляет API для определения публичного IP-адреса пользователя. Код написан в форме функции get_public_ip, что делает его удобным для повторного использования.
Использование блока try-except обеспечивает обработку исключений, которые могут возникнуть при запросе (например, проблемы с подключением к интернету). Если запрос успешен, функция возвращает IP-адрес, иначе возвращает сообщение об ошибке.
#python
Прогрессбар программы
Модуль
Он также будет полезен в целях отладки, как в качестве инструмента профилирования, так и в качестве способа отображения информации журнала итеративной задачи.
#python #tqdm
Модуль
tqdm
предназначен для быстрого и расширяемого внедрения индикаторов выполнения (progressbar
) во внешние интерфейсы программ на Python
, предоставляя конечным пользователям визуальную индикацию хода вычислений или передачи данных. Он также будет полезен в целях отладки, как в качестве инструмента профилирования, так и в качестве способа отображения информации журнала итеративной задачи.
#python #tqdm
Ипотека в Москве по низкой ставке
Level предлагают оформить IT-ипотеку по полной стоимости от 5,582 до 6,502% годовых. У вас есть возможность снизить ставку до 0,99% годовых. Предложение доступно тем, кто работает в аккредитованной Минцифры России IT-компании не меньше трёх месяцев.
Если вам меньше 35 лет, можно оформить IT-ипотеку вне зависимости от уровня дохода. Специалистам от 35 до 50 лет одобряют ипотеку, если они подходят под условия месячного заработка.
Вы сможете до 15 месяцев платить по ставке 0,99% годовых. Конкретный срок определяется в зависимости от проекта. В акции участвуют проекты Level Академическая, Южнопортовая, Нижегородская, Селигерская, Мичуринский и Бауманская.
Когда льготный период закончится, ставка будет всего 5%.
Заявку можно подать до 31 марта. Действуйте быстро — и воспользуйтесь отличным шансом приобрести своё жильё. Подробности о проекте читайте на сайте девелопера.
Level предлагают оформить IT-ипотеку по полной стоимости от 5,582 до 6,502% годовых. У вас есть возможность снизить ставку до 0,99% годовых. Предложение доступно тем, кто работает в аккредитованной Минцифры России IT-компании не меньше трёх месяцев.
Если вам меньше 35 лет, можно оформить IT-ипотеку вне зависимости от уровня дохода. Специалистам от 35 до 50 лет одобряют ипотеку, если они подходят под условия месячного заработка.
Вы сможете до 15 месяцев платить по ставке 0,99% годовых. Конкретный срок определяется в зависимости от проекта. В акции участвуют проекты Level Академическая, Южнопортовая, Нижегородская, Селигерская, Мичуринский и Бауманская.
Когда льготный период закончится, ставка будет всего 5%.
Заявку можно подать до 31 марта. Действуйте быстро — и воспользуйтесь отличным шансом приобрести своё жильё. Подробности о проекте читайте на сайте девелопера.
Проверяем скорость интернета
Каждый хоть раз проверял скорость своего интернета на Speedtest. А у них, оказывается, есть не только сайт и приложения, но и пакет на Python для этого дела.
У объекта класса
Методы отдают результат в байтах, поэтому для наглядности в примере я перевел все данные в мегабайты при выводе.
#python #speedtest
Каждый хоть раз проверял скорость своего интернета на Speedtest. А у них, оказывается, есть не только сайт и приложения, но и пакет на Python для этого дела.
У объекта класса
Speedtest
методы download()
и upload()
выдают соответственно скорость скачивания и загрузки данных.Методы отдают результат в байтах, поэтому для наглядности в примере я перевел все данные в мегабайты при выводе.
#python #speedtest
Ждем тебя на мероприятии «GitVerse: открой вселенную кода» от СберТеха
29 марта в 10:00 СберТех проведет онлайн-презентацию, на которой расскажет о GitVerse – платформе для работы с исходным кодом. GitVerse позволяет создавать проекты с открытым и закрытым исходным кодом и развивать их вместе с ИТ-сообществом. На платформе можно организовывать совместную работу, привлекать к проектам новых участников, комментировать код и назначать задачи.
О чем поговорим на мероприятии:
· Тренды разработки и роль открытого ПО в современном ИТ
· Возможности GitVerse и планы развития
· GigaCode – AI-помощник разработчика (AI, artificial intelligence — искусственный интеллект)
· Участие комьюнити в проекте
· Пакет облачных сервисов и его преимущества для разработчиков
· Обзор интересных репозиториев на GitVerse
· Реальные кейсы разработки и оптимизации с помощью GitVerse
· Общение в прямом эфире
Регистрируйся на мероприятие на сайте.
Обещаем: будем интересно и полезно!
29 марта в 10:00 СберТех проведет онлайн-презентацию, на которой расскажет о GitVerse – платформе для работы с исходным кодом. GitVerse позволяет создавать проекты с открытым и закрытым исходным кодом и развивать их вместе с ИТ-сообществом. На платформе можно организовывать совместную работу, привлекать к проектам новых участников, комментировать код и назначать задачи.
О чем поговорим на мероприятии:
· Тренды разработки и роль открытого ПО в современном ИТ
· Возможности GitVerse и планы развития
· GigaCode – AI-помощник разработчика (AI, artificial intelligence — искусственный интеллект)
· Участие комьюнити в проекте
· Пакет облачных сервисов и его преимущества для разработчиков
· Обзор интересных репозиториев на GitVerse
· Реальные кейсы разработки и оптимизации с помощью GitVerse
· Общение в прямом эфире
Регистрируйся на мероприятие на сайте.
Обещаем: будем интересно и полезно!
Делаем простой интерфейс используя tkinter
Хотя
#python #tkinter
tkinter
- это стандартная библиотека для создания графического пользовательского интерфейса (GUI) в Python
. Она предоставляет простой и удобный способ создания оконных приложений с использованием виджетов, таких как кнопки, текстовые поля, списки и многое другое.Хотя
tkinter
может показаться менее мощным по сравнению с некоторыми другими библиотеками GUI для Python
, такими как PyQt
или wxPython
, она остается популярным выбором для начинающих разработчиков и для создания простых и удобных в использовании GUI-приложений.#python #tkinter
О выстраивании работы в разных часовых поясах и сохранении эффективности даже на дистанционке ребята расскажут 20 марта в 11:00 по Москве. Ещё есть время, чтобы зарегистрироваться на вебинар, сделать это можно здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
Использование Docker вместе с Python
Зачем его использовать?
- Упрощение настройки среды:
- Быстрая доставка и развертывание: С
- Изоляция приложений: Каждое приложение работает в своем контейнере, не влияя на работу других приложений и системы в целом.
#python #docker
Docker
- это платформа для разработки, доставки и запуска приложений в контейнерах. Контейнеры позволяют упаковать ваше приложение со всем его окружением и зависимостями в один компактный исполняемый пакет. Это обеспечивает его быстрый запуск и согласованную работу в любой среде.Зачем его использовать?
- Упрощение настройки среды:
Docker
избавляет от фразы "у меня работает, а у тебя нет". Все необходимые зависимости, библиотеки и окружение можно упаковать в контейнер, который будет работать одинаково на любой машине.- Быстрая доставка и развертывание: С
Docker
вы можете легко и быстро развернуть своё приложение в любой среде, будь то облачная платформа или локальный сервер.- Изоляция приложений: Каждое приложение работает в своем контейнере, не влияя на работу других приложений и системы в целом.
#python #docker
Регистрируйтесь на конкурсы на площадке GitVerse и получайте возможность выиграть 500 тыс. руб!
Объявляем о начале регистрации на конкурсы от GitVerse в рамках олимпиады «IT-Планета 2024».
Вас ждут два трека, увлекательные задания и призовой фонд в размере 500 тыс. рублей *!
До 31 марта регистрируйтесь в конкурсе и проходите отборочное тестирование на платформе для разработчиков GitVerse от СберТеха. Можно выбрать из двух направлений:
👉 «Прикладное программирование if...else»
Это конкурс для разработчиков в возрасте от 18 до 35 лет, которые создают прикладное ПО.
Требования к участникам — знание C/C++/Java/Python, понимание алгоритмов и умение применять их на практике.
Вас ждут прикладные задачи, связанные с разработкой серверной части. А в случае успешного прохождения второго этапа — очный финал!
Подробные условия конкурсов и регистрация.
👉 «Разработка игр – GameDev»
Это соревнование для разработчиков игр в возрасте от 18 до 35 лет. Участвовать можно самостоятельно или вместе с командой до 4 человек.
Требования — отличное понимание игровых механик, знание всех аспектов движков и умение выбирать правильное решение для прототипирования игры.
Каждый конкурс состоит из трех этапов: отборочное тестирование, основной этап — отправка проектов или решение прикладных задач, — и очный финал.
Подробные условия конкурсов и регистрация.
Следите за новостями и удачи в конкурсах!
*За вычетом НДФЛ
Объявляем о начале регистрации на конкурсы от GitVerse в рамках олимпиады «IT-Планета 2024».
Вас ждут два трека, увлекательные задания и призовой фонд в размере 500 тыс. рублей *!
До 31 марта регистрируйтесь в конкурсе и проходите отборочное тестирование на платформе для разработчиков GitVerse от СберТеха. Можно выбрать из двух направлений:
👉 «Прикладное программирование if...else»
Это конкурс для разработчиков в возрасте от 18 до 35 лет, которые создают прикладное ПО.
Требования к участникам — знание C/C++/Java/Python, понимание алгоритмов и умение применять их на практике.
Вас ждут прикладные задачи, связанные с разработкой серверной части. А в случае успешного прохождения второго этапа — очный финал!
Подробные условия конкурсов и регистрация.
👉 «Разработка игр – GameDev»
Это соревнование для разработчиков игр в возрасте от 18 до 35 лет. Участвовать можно самостоятельно или вместе с командой до 4 человек.
Требования — отличное понимание игровых механик, знание всех аспектов движков и умение выбирать правильное решение для прототипирования игры.
Каждый конкурс состоит из трех этапов: отборочное тестирование, основной этап — отправка проектов или решение прикладных задач, — и очный финал.
Подробные условия конкурсов и регистрация.
Следите за новостями и удачи в конкурсах!
*За вычетом НДФЛ
Использование модуля secrets для генерации случайных значений
Модуль
Применение модуля
-
-
-
-
-
-
Также, в модуле присутствует класс
#python #secrets #random
Модуль
secrets
, встроенный в Python
, предназначен для создания криптографически защищенных случайных чисел. Это особенно полезно для генерации надежных паролей, аутентификационных токенов и других безопасных данных, благодаря использованию возможностей операционной системы.Применение модуля
secrets
просто и напоминает работу с модулем random
. Вот некоторые из его функций:-
secrets.choice(collection)
выбирает и возвращает случайный элемент из предоставленной коллекции.-
secrets.randbelow(n)
генерирует случайное целое число в пределах от 0
до n
.-
secrets.randbits(n)
создает целое число из n
случайных бит.-
secrets.token_bytes(n)
выдает случайную последовательность байт длиной в n
байт.-
token_hex(n)
предоставляет случайную строку из n
байт, преобразованную в шестнадцатеричный формат.-
token_urlsafe(n)
генерирует URL-безопасную строку длиной в n
байт, закодированную в Base64
.Также, в модуле присутствует класс
SystemRandom
, поддерживающий большинство методов модуля random
.#python #secrets #random
Поверхностное копирование
Копирование объектов может быть «поверхностное» (shallow) или «глубокое» (deep). Различия между ними заключаются в том, как обрабатываются вложенные объекты.
При поверхностном копировании создается новый объект, но его внутренние элементы (если они тоже являются объектами) остаются ссылками на те же объекты, что и в оригинале. Другими словами, копируются только ссылки на объекты, но не сами объекты.
#python
Копирование объектов может быть «поверхностное» (shallow) или «глубокое» (deep). Различия между ними заключаются в том, как обрабатываются вложенные объекты.
При поверхностном копировании создается новый объект, но его внутренние элементы (если они тоже являются объектами) остаются ссылками на те же объекты, что и в оригинале. Другими словами, копируются только ссылки на объекты, но не сами объекты.
#python
Метод join у строк
У строк есть полезный метод
Как результат получаем новую строку, которая является объединением всех элементов. При этом они разделены строкой, к которой изначально применялся метод.
Проще говоря, если применить к строке этот метод, то она станет разделителем для элементов в новой строке.
#python #string
У строк есть полезный метод
str.join()
, который принимает на вход итерируемый объект, элементами которого также должны быть строки.Как результат получаем новую строку, которая является объединением всех элементов. При этом они разделены строкой, к которой изначально применялся метод.
Проще говоря, если применить к строке этот метод, то она станет разделителем для элементов в новой строке.
#python #string
Уже сто раз начинал изучать программирование, но всегда выгорал и бросал на полпути?
Ничего удивительного! Программирование – это сложная для самостоятельного изучения сфера, ведь очень часто нужны не видеоуроки, а совет живого человека здесь и сейчас, комфортная обстановка и поддержка единомышленников.
Именно это можно получить в «Школе 21» (проект Сбера✔️ по БЕСПЛАТНОМУ обучению программированию с 0).
Чем отличается от других курсов / школ:
• Методика «Равный - равному»
• Нет расписания, оценок и менторов
• Оплачиваемая стажировка во время основного обучения
• Тебе не нужно платить! Совсем! Ни за что!
Тех, кто готов освоиться в IT, приобрести новую профессию или улучшить навыки в текущей, приглашаем стать абитуриентами на оффлайн интенсиве в Великом Новгороде
• старт 1 апреля, продолжительность 26 дней (документы уже принимаются)
• учеба и проживание в инновационном кампусе Новгородской технической школы
• это абсолютно БЕСПЛАТНО
Подписывайся и узнавай подробности: весенний набор Великий Новгород 2024г
За подписку дарим 🎁 - гайд о том, как стать успешным программистом
Реклама. ООО «Цифровая жажда» Erid 2Vtzqv2Ric5
Ничего удивительного! Программирование – это сложная для самостоятельного изучения сфера, ведь очень часто нужны не видеоуроки, а совет живого человека здесь и сейчас, комфортная обстановка и поддержка единомышленников.
Именно это можно получить в «Школе 21» (проект Сбера✔️ по БЕСПЛАТНОМУ обучению программированию с 0).
Чем отличается от других курсов / школ:
• Методика «Равный - равному»
• Нет расписания, оценок и менторов
• Оплачиваемая стажировка во время основного обучения
• Тебе не нужно платить! Совсем! Ни за что!
Тех, кто готов освоиться в IT, приобрести новую профессию или улучшить навыки в текущей, приглашаем стать абитуриентами на оффлайн интенсиве в Великом Новгороде
• старт 1 апреля, продолжительность 26 дней (документы уже принимаются)
• учеба и проживание в инновационном кампусе Новгородской технической школы
• это абсолютно БЕСПЛАТНО
Подписывайся и узнавай подробности: весенний набор Великий Новгород 2024г
За подписку дарим 🎁 - гайд о том, как стать успешным программистом
Реклама. ООО «Цифровая жажда» Erid 2Vtzqv2Ric5
Получение аудиопотока с микрофона
Библиотека
В приведенном примере мы создаем объект класса
Данный объект потока позволяет считывать с устройства с помощью метода
В примере же мы просто считываем 10 секунд, после чего записываем их в аудио-файл
#pyaudio #audio
Библиотека
PyAudio
предоставляет возможности для записи аудиопотока с различных устройств. PyAudio
работает посредством кросс-платформенной библиотеки PortAudio
(поэтому необходимо заранее установить пакет разработки portaudio19-dev
).В приведенном примере мы создаем объект класса
PyAudio
и открываем поток с рядом констант для настройки аудиопотока, поступающего с микрофона (для выбора другого устройства нужно передать его номер в качестве аргумента input_device_index
). Данный объект потока позволяет считывать с устройства с помощью метода
stream.read()
. Полученную информацию мы можем использовать для дальнейшего анализа и модификации. В примере же мы просто считываем 10 секунд, после чего записываем их в аудио-файл
wav
. #pyaudio #audio
Защищаем исходный код обфускацией
Обфускация кода — это превращение исходного кода в нечитаемый для человека вид, при этом сохраняя всю функциональность программы.
Цель подобных действий заключается в защите скриптов. Обфускация делает анализ кода крайне сложным, а иногда и невозможным.
Таким образом, другим разработчикам становится проблематично получить и понять ваш исходный код для того, чтобы, например, взломать программу.
В Python есть отличная библиотека
#pyarmor
Обфускация кода — это превращение исходного кода в нечитаемый для человека вид, при этом сохраняя всю функциональность программы.
Цель подобных действий заключается в защите скриптов. Обфускация делает анализ кода крайне сложным, а иногда и невозможным.
Таким образом, другим разработчикам становится проблематично получить и понять ваш исходный код для того, чтобы, например, взломать программу.
В Python есть отличная библиотека
pyarmor
, предназначенная именно для этого. Пример использования этого пакета в терминале представлен выше на картинке. #pyarmor
Библиотека символьной математики для Python SymPy
В отличие от численных вычислений, символьная математика работает с математическими объектами, такими как переменные, выражения и уравнения, в абстрактной форме, а не приближенно численно.
SymPy позволяет проводить символьные вычисления, что означает, что вы можете работать с математическими выражениями в их аналитической форме.
#python
В отличие от численных вычислений, символьная математика работает с математическими объектами, такими как переменные, выражения и уравнения, в абстрактной форме, а не приближенно численно.
SymPy позволяет проводить символьные вычисления, что означает, что вы можете работать с математическими выражениями в их аналитической форме.
#python
Хочешь пройти путь от Джуна до Мидла, чтобы повысить зарплату и навыки?
Приходи на бесплатный Тестовый урок по Python вместе с опытным разработчиком.
На Тестовом уроке ты:
🔹Оценишь свои знания.
🔹Напишешь код (даже если раньше никогда этого не делал).
🔹Получишь подробную обратную связь.
🔹Построишь индивидуальную программу обучения.
🔹Узнаешь, как наши ученики попадают на стажировку и обучаются до уровня “Мидл”.
👉Запишись на Тестовый урок после прохождения небольшого опроса в боте.
Реклама: erid 2Vtzqx3GHVw , ООО "ДЕВМАН", ИНН 5001149108
Приходи на бесплатный Тестовый урок по Python вместе с опытным разработчиком.
На Тестовом уроке ты:
🔹Оценишь свои знания.
🔹Напишешь код (даже если раньше никогда этого не делал).
🔹Получишь подробную обратную связь.
🔹Построишь индивидуальную программу обучения.
🔹Узнаешь, как наши ученики попадают на стажировку и обучаются до уровня “Мидл”.
👉Запишись на Тестовый урок после прохождения небольшого опроса в боте.
Реклама: erid 2Vtzqx3GHVw , ООО "ДЕВМАН", ИНН 5001149108
Асинхронный фреймворк для разработки сетевых приложений Twisted
Фреймворк предоставляет реализацию множества протоколов, таких как TCP, UDP, SSL/TLS, DNS, и других, используя асинхронный стиль программирования.
Код выше создает TCP-сервер, прослушивающий порт 1234, и при подключении клиента создает экземпляр MyProtocol, который обрабатывает данные в методе dataReceived. В приведенном примере, сервер просто отправляет обратно полученные данные. Twisted также предоставляет возможности для работы с асинхронными задачами, таймерами, и другими асинхронными концепциями. Это позволяет создавать эффективные и отзывчивые сетевые приложения.
#python
Фреймворк предоставляет реализацию множества протоколов, таких как TCP, UDP, SSL/TLS, DNS, и других, используя асинхронный стиль программирования.
Код выше создает TCP-сервер, прослушивающий порт 1234, и при подключении клиента создает экземпляр MyProtocol, который обрабатывает данные в методе dataReceived. В приведенном примере, сервер просто отправляет обратно полученные данные. Twisted также предоставляет возможности для работы с асинхронными задачами, таймерами, и другими асинхронными концепциями. Это позволяет создавать эффективные и отзывчивые сетевые приложения.
#python
PyAutoGUI
PyAutoGUI позволяет Python управлять мышью и клавиатурой для автоматизации взаимодействия с другими приложениями. Пакет работает в Windows, macOS и Linux на Python 2 и 3.
Из ключевого функционала можно выделить следующее:
— Передвижение курсора и нажатие на кнопки мыши;
— Набор текста, например для заполнения форм;
— Скриншоты, поиск указанных изображений на экране (например, иконки) и нажатие на них;
— Поиск приложения на экране, изменение размера его окна, перемещение по экрану и т. д.
Основные функции показаны в примере на картинке выше, остальное — в документации проекта.
#pyautogui
PyAutoGUI позволяет Python управлять мышью и клавиатурой для автоматизации взаимодействия с другими приложениями. Пакет работает в Windows, macOS и Linux на Python 2 и 3.
Из ключевого функционала можно выделить следующее:
— Передвижение курсора и нажатие на кнопки мыши;
— Набор текста, например для заполнения форм;
— Скриншоты, поиск указанных изображений на экране (например, иконки) и нажатие на них;
— Поиск приложения на экране, изменение размера его окна, перемещение по экрану и т. д.
Основные функции показаны в примере на картинке выше, остальное — в документации проекта.
#pyautogui