pythonofff | Unsorted

Telegram-канал pythonofff - Python академия

7384

Python академия. Учи Python быстро и легко. По всем вопросам @evgenycarter

Subscribe to a channel

Python академия

Рынок бежит в сторону Go, а вы?

На Go пишут в Ozon, Авито, 2ГИС, Wildberries и другие компании, где есть приложения с микросервисной архитектурой. На HeadHunter больше 1500 открытых вакансий Go-девелоперов.

🔥Расширить стек и и перейти в разработку на Go поможет курс «Golang-разработчик» от Слёрма.

За 4 месяца обучения научитесь:

👉 Уверенно писать на Golang и разрабатывать серверные и клиентские приложения
👉 Понимать устройство observability больших систем
👉 Распиливать монолит на микросервисы без неожиданностей
👉 Синхронизировать goroutine и проводить оптимизацию под работу в нагруженных приложениях


Внутри:

🔹6 встреч со спикером курса Виталием Лихачёвым, SRE в booking.сom
🔹 80% курса — углублённая практика с код-ревью
🔹 Сборка полноценного сервиса: онлайн-банк, мессенджер или файловое хранилище

➡️Старт 11 ноября
➡️Занять место — по ссылке

Реклама ООО «Слёрм» ИНН 3652901451

Читать полностью…

Python академия

Безопасная работа в контейнерных средах

19 ноября в 11:00 приглашаем на бесплатный вебинар «Защита контейнерных сред с помощью Policy Engine и Service Mesh» от СберТеха.

Вы узнаете:

✅ Как защитить контейнерные среды в рантайме: безопасность на уровне реестра, оркестратора и контейнеров.
✅ Что такое Policy Engine и его роль в управлении политиками безопасности и конфигурациями. Знакомство с Kubelatte и возможностями по мутации, валидации и генерации объектов Kubernetes.
✅ Как Service Mesh обеспечивает безопасность трафика, включая шифрование, контроль конфигураций приложений и кластеров, мониторинг состояния кластеров.
✅ В чем преимущества решений Platform V Synapse по сравнению с open source.

Регистрируйтесь и приходите!

Зарегистрироваться

#реклама 16+
platformv.sbertech.ru

О рекламодателе

Читать полностью…

Python академия

3 трюка с itertools

Сегодня мы рассмотрим несколько функций из довольно полезного модуля, позволяющих эффективно работать с итерируемыми объектами. Начнём с очень простой функции – chain. Она позволяет "склеивать" несколько итерируемых элементов в один.

Далее, accumulate. Эта функция немного похожа на reduce, но вместо того, чтобы давать одно окончательное значение, она последовательно применяет функцию, заданную вторым аргументом (в данном случае min), к каждому последующему элементу по порядку: min(11), min(11, 3), min(11, 3, 9) и так далее.

А для того, чтобы создавать комбинации из элементов выбранного итерируемого объекта, вам понадобится функция combinations. Вторым аргументом можно задать длину этой самой комбинации.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Конвертируем изображения в PDF

Иногда у нас появляются заметки или документы в виде фотографий, а в таком формате с ними тяжело работать. Но мы можем собрать все нужные изображения и превратить их в PDF-файл. Это делается при помощи библиотеки img2pdf.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Помощь в трудоустройстве в IT-сфере!

В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специалистов. Теперь любой желающий может попробовать себя в IT с полного нуля и начать обучение бесплатно!

Узнайте про дальнейшее трудоустройство в ведущие IT-компании для восполнения кадрового дефицита.

Для этого нужно:

- Перейти по ссылке
- Заполнить анкету и ответить на вопросы (занимает менее 3 минут)
- На основании ваших ответов вы сразу узнаете, подходит ли вам сфера IT и сможете ли вы в ней работать

Перейти на сайт

#реклама 16+
urban-university.ru

О рекламодателе

Читать полностью…

Python академия

Красивый вывод таблиц

Недавно нам понадобилось логировать часть базы данных. И тут мы вспомнили про прекрасный модуль prettytable, который позволяет красиво выводить таблицы.

Итак, имена столбцов задается с помощью атрибута table.field_names. А добавлять строки с данными в таблицу можно методом table.add_row([]), передавая туда список элементов.

Но даже если вы не фанат командной строки, то иногда нужно сохранить отчет о работе вашей программы в текстовый файл. В таком случае можно сохранить саму таблицу, вызвав метод table.get_string().

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Работа с ip адресами

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

Одним из вариантов его использования является генерация списка IP-адресов из диапазона адресов, заданных в формате CIDR (Classless Inter-Domain Routing, или бесклассовая адресация).

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

20-дневный марафон для тех, кто хочет попасть в IT

В цикле открытых эфиров с senior-разработчиками вы:
✅ Узнаете все о правилах IT-рынка в 2024 году
✅ Выберете IT-направление
Из множества айтишных профессий выберете ту самую. И поймете, куда двигаться дальше.
✅ Поймете, как с нуля освоить профессию
Получите подробную дорожную карту в профессии. Научитесь отличать псевдопользу от реально нужных технологий.
✅ Получите советы от senior-разработчиков
Сможете перенять опыт специалистов с опытом от 10 лет. Они предостерегут от ошибок и подскажут, как проще пройти путь с нуля до первой работы.
Марафон пройдет с 9 по 29 ноября. Присоединяйтесь!
Участие бесплатно.

Зарегистрироваться

#реклама 16+
result.school

О рекламодателе

Читать полностью…

Python академия

Бесплатный мастер-класс по программированию на Java

В занятии могут участвовать все дети возраста 13-17 лет независимо от уровня знаний в программировании.

✅Педагоги из Университета Иннополис в простой форме обучат основам языка программирования Java и создания графических интерфейсов.

Всего за одно занятие Ваш ребёнок научится самостоятельно создавать мобильные приложения и сможет реализовывать собственные замыслы с дальнейшем!

⚡Не упустите возможность подарить ребёнку уникальные знания от ведущего ИТ ВУЗа страны. Кто знает, возможно, это станет фундаментом для востребованной профессии в будущем или просто полезным хобби в настоящем...

Попробуем?

Регистрируйтесь для участия, количество мест ограничено.

Зарегистрироваться

#реклама 16+
progmatica.innopolis.university

О рекламодателе

Читать полностью…

Python академия

Полезность модуля math

Сложно переоценить пользу модуля math, если имеешь дело с какими-либо математическими функциями. Модуль представляет собой обширный функционал для работы с числами.

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

Модуль math обеспечивает доступ к некоторым популярным математическим функциям и константам, к тому же он является встроенным (не нужно делать установку через pip).

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Вычисление выражений Python

Вы наверняка знакомы с eval, но знаете ли вы о literal_eval? Вряд ли. Для безопасного исполнения выражений, содержащих исключительно литералы, вы можете делать так, как показано на картинке выше.

Между прочим, данная фича находится в языке уже очень давно.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Прочитать произвольную строку из файла

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

И конечно же не обошлось без приветствия, вы специально заготовили несколько различных вариантов в файле text.txt:

Приветствую!
Здравствуйте!
Ку, здарова.
Добрый день!
Привет!

Чтобы вывести это на экран, может помочь функция getline из модуля linecache. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline кеширует все строчки файла в списке, так что следующие вызовы get_answer отработают моментально.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Ускоряем код с помощью векторизации

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

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

По сути, vectorize преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент. Надо помнить, что такой подход не всегда приводит к значительному ускорению.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Создание дочернего процесса

Метод os.fork() создаёт дочерний процесс в том же месте кода, вызывая системную функцию fork(), и возвращает PID (Process Identifier), который равен PID дочернего процесса в родительском процессе и нулю в новом.

Кстати, получается интересный случай, в коде примера выполняется и блок if, и else. Если не знать про os.fork() и посмотреть вывод подобного кода, то возникнет много вопросов.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Дескрипторы

Дескриптор – это атрибут объекта со “связанным поведением”, то есть такой атрибут, при доступе к которому его поведение переопределяется методом протокола дескриптора. Если хотя бы один из этих методов определен в объекте, то можно сказать, что этот метод – дескриптор.

Для того, чтобы определить свой собственный дескриптор, обычно определяют три специальных метода класса __get__, __set__ или __delete__. После этого можно создать новый класс и в атрибут этого класса записать объект типа дескриптор.

У данного объекта будет переопределено поведение при доступе к атрибуту (__get__), при присваивании значений (__set__) или при удалении (__delete__).

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Геттеры и сеттеры

В объектно-ориентированных языках распространено использование геттеров и сеттеров для безопасной работы с приватными полями. Например, в C# для этого есть удобная конструкция { get; set; }.

В Python геттер реализуется через декоратор @ property, а сеттер в виде @ свойство.setter. В примере метод геттера называется age, поэтому декоратор сеттера – @ age.setter.

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

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

FastAPI

FastAPI – фреймворк, про который однозначно стоит рассказать. Честно, синтаксис мне кажется намного приятнее, чем у других фреймворков.

Интересно, что автор фреймворка глубоко изучил несколько других фреймворков, от классических, таких как Django, до более современных, таких как Sanic, а также изучил различные технологии в NestJS (веб-фреймворк Node.js, Typescript).

Фреймворк имеет важную особенность – автоматическая генерация документации: как только ваши конечные точки будут реализованы, вы сможете поиграться с API, используя соответствующий стандартам пользовательский интерфейс. Поддерживаются SwaggerUI, ReDoc и другие.

FastAPI построен на удивительной библиотеке Starlette, в результате чего производительность сравнима с Node.js, а в некоторых случаях даже Go! В целом, складывается стойкое предчувствие, что FastAPI будет мчаться вперёд как лучший асинхронный фреймворк для Python.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Курс по frontend-разработке с junior до middle

Стань специалистом по frontend-разработке с помощью менторов. Оставь заявку!

Узнать больше

#реклама 16+
ykul.ru

О рекламодателе

Читать полностью…

Python академия

Нижнее подчеркивание

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

Во-первых, _ используется, когда вам нужно придумать имена для значений, которые вам не нужны – например, в циклах for.

Во-вторых, интерактивный режим использует _ для хранения результата последнего выполненного выражения.

В-третьих, руководство модуля gettext рекомендует псевдоним его функции gettext() для _(), чтобы минимизировать загромождение вашего кода.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Функция itertools.cycle

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

Сегодня мы бы хотели показать вам функцию cycle() из itertools. Данная функция принимает на вход итерируемый объект и создает бесконечный итератор, циклически возвращающий элементы данного объекта. Фишка заключается в том, что когда элементы последовательности заканчиваются, итерация начинается вновь с первого элементы.

К примеру, функция cycle() из последовательности ['red', 'white', 'blue'] генерирует повторяющуюся бесконечную. Но важно при проходе при итерации по такому итератору предусмотреть выход из цикла (а не как у нас в первом случае с colors:). Так как это итератор, то мы можем использовать его для получения значений через функцию next(colors).

Мы также можем воспользоваться islice(), который вернет итератор по подмножеству переданного объекта.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Курс «Разработчик 1С» от Яндекса.

За 6 месяцев освоите один из самых простых языков программирования и пройдёте стажировку


Зарегистрироваться

#реклама 16+
practicum.yandex.ru

О рекламодателе

Читать полностью…

Python академия

Используем pathlib вместо os

Стандартная библиотека Python 3 содержит модуль pathlib, включающий в себя функцию Path(), достаточную для полноценной работы с файловыми путями.

Одной из самых крутых фич в работе с путями является замена os.path.join() на более удобный и элегантный вариант, изображенный на картинке.

По сути эта библиотека заменяет ранее используемые для работы с путями функции из модуля os (например os.mkdir или os.path) на более удобные.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Нахождение наиболее частых элементов списка

Если необходимо найти несколько наиболее часто повторяющихся значений, лучше воспользоваться счетчиком Counter из библиотеки collections.

Метод Counter.most_common(x) возвращает x кортежей, в которых первое значение – элемент, а второе – количество его повторений.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Random seed в Python

Генерация случайных чисел Python основана на предыдущем числе, поэтому использование системного времени – отличный способ гарантировать, что каждый раз, когда наша программа запускается, она генерирует разные числа. Мы можем использовать функцию random seed() для установки начального значения.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Случайный список – choice(), shuffle(), sample()

Есть несколько функций для использования случайности в последовательности. Например, с помощью функции choice() вы можете получить случайный элемент из последовательности.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Копирование файлов с помощью метода shutil()

Мы можем использовать модуль shutil для копирования файлов в Python. Эта утилита позволяет нам выполнять операции копирования и перемещения для разных файлов.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Удаление файлов с помощью метода shutil.os.remove()

Модуль Python shutil предлагает метод remove() для удаления файлов из файловой системы.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Закрытие открытого файла с помощью метода close()

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

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Функции str.split и rsplit() в Python

Функция split() в Python используется для разделения строки на список строк на основе разделителя.

В качестве разделителя используется аргумент sep. Если строка содержит последовательные разделители, возвращается пустая строка. Аргумент-разделитель также может состоять из нескольких символов

Подписывайтесь на канал 👉@pythonofff

Читать полностью…

Python академия

Что можно делать в оболочке Python?

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

Символы >>> — это приглашение оболочки, тут вы можете вводить свои команды. Если ваши команды занимают несколько строк, например, при определении цикла, оболочка выводит троеточие …, которое сигнализирует о продолжении строки.

Подписывайтесь на канал 👉@pythonofff

Читать полностью…
Subscribe to a channel