Python Tips And Tricks
2.15K subscribers
341 photos
1 file
44 links
Твой лучший помощник в изучении и работе с Python 🐍

Реклама - @gaifullin
Download Telegram
Как эффективно по отношению к памяти сравнить два неупорядоченных списка

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

Два списка содержат одни и те же элементы, а вот их порядок отличается. Давайте посмотрим, как мы можем удостовериться, что перед нами два одинаковых списка.

• Мы можем использовать метод collections.Counter
• Можно использовать sorted(), если объекты поддаются порядку.
👍3
⚠️ Вы уверены в безопасности вашего приложения?

Уязвимости в коде приложения могут привести к утечкам данных, и как следствие – к финансовым и репутационным потерям для компании.
Для более полного контроля безопасности вашего ПО воспользуйтесь комплексным решением Solar appScreener, которое поддерживает не только статический (SAST), но и динамический (DAST) анализ кода в одном интерфейсе.

Поддерживает 36 языков программирования
Анализирует ПО даже без доступа к исходному коду
Выявляет уязвимости кода на всех этапах разработки
Проводит корреляцию результатов анализа SAST и DAST
Легко встраивается в цикл безопасной разработки

Протестируйте Solar appScreener бесплатно!
Оставить заявку
👍1
Метод get() у словарей и его «дефолтный» результат.

Немножко теории: метод get() возвращает значение для искомого ключа. Если ключ недоступен, возвращает значение по умолчанию.

Метод get() возвращает значение по ключу если такой ключ присутсвует в списке, если его нет, то метод возвращает дефолтное значение.

Если же мы напишем nameforuserid.get(5454) без указания «дефолтного» значения, то функция вернет None. Довольно удобно и практично.
👍4🔥21🤔1
Удаляем дубликаты из списка в Python

Очень часто мы бы хотели удалить или найти дубликат элемента в списке. Давайте посмотрим, как удалить дубликаты из списка. Лучший подход — преобразовать список в множество. Множества представляют собой неупорядоченную структуру данных с уникальными значениями и не допускают копий.
👍7🔥41
Виртуальные окружения

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

К счастью, поддержка языком Python виртуальных сред позволяет вам получить нужное для обоих проектов. Напишем в командной строке
👍21🔥1
geopy

Программистам может быть сложно ориентироваться в географии. Однако модуль geopy всё упрощает:

$ pip install geopy

Он работает путём абстрагирования API разных сервисов геокодирования. Этот модуль даёт возможность узнать полный адрес места, его долготу и широту и даже высоту.

Также в нём есть полезный класс Distance. Он высчитывает расстояние между двумя местами в удобной единице измерения.
👍4🔥1
🐍 Курс «Python для Пентестера»

Старт: 13 марта
Длительность: 3 месяца

🎓 После 3-месячного онлайн-курса «Python для пентестера» вы сможете:

✔️ Эффективно использовать базы данных и сеть Интернет;
✔️ Получать данные от сайтов в автоматическом режиме;
✔️ Писать прикладные программы на Python. 

ℹ️ Преимущества онлайн-курса «Python для пентестера»:

• Помощь преподавателей при выполнении заданий и в изучении теории;
• Проверка ДЗ вручную – наставник поможет улучшить написанный вами код;
• Понятные и наглядные учебные материалы с информацией для выполнения ДЗ;
• Групповой чат в Telegram с другими учениками, проходящими курс;

*Для прохождения курса необходимы базовые знания Python. Проверить свои базовые навыки вы можете пройдя тестирование.

🔥 Имеется промодоступ на 7 дней!

🏆 При успешной сдаче экзамена выдаём сертификат!

Узнать подробнее о курсе: https://python-eh.codeby.school
howdoi

Зависли над какой-то проблемой и не можете вспомнить её решение? Нужно зайти на StackOverflow, но не хочется покидать терминал?

Тогда вам не обойтись без этого инструмента командной строки:

$ pip install howdoi

Задайте любой вопрос, и он постарается найти ответ на него
👍4🔥1
map

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

Здесь map() применяет простую лямбда-функцию на каждом элементе x и возвращает объект map, который можно преобразовать в какой-нибудь итерируемый объект вроде списка или кортежа
👍5
Новости нейросетей, которые вы могли пропустить за выходные 👌

🚀 Исследователи применили ИИ для создания изображений на основе активности мозга людей

Исследователи из Высшей школы передовых биологических наук Университета Осаки обнаружили, что они могут реконструировать высокоточные изображения активности мозга, используя модель генерации изображений Stable Diffusion. Им не потребовалось дополнительно обучать или настраивать модель для создания этих изображений.

🚀 Amazfit встроила ChatGPT в свои умные часы

Amazfit анонсировал первые в мире смарт-часы, которые работают с инструментами на базе ChatGPT. ИИ внедрили в операционную систему часов Zepp OS. Для работы с нейросетью появился отдельный циферблат с чатом, где можно пообщаться с ChatGPT.

🚀 Крутейшая нейросеть для создания видео

Новый упрощенный подход к видеомонтажу. Никаких слоев, дорожек, кучи плагинов и прочего. Descript дает вам возможность редактировать видео, будто это текстовый документ. На промо-ролике заметно сразу несколько фишек: крутые эффекты за пару кликов, удаление слов паразитов, создание модели голоса и многое другое. Пользовать можно тут.
pprint

Стандартная функция Python print() делает своё дело. Но если попытаться вывести какой-нибудь большой вложенный объект, результат будет выглядеть не очень приятно.

Здесь на помощь приходит модуль из стандартной библиотеки pprint (pretty print). С его помощью можно выводить объекты со сложной структурой в читабельном виде.

Мастхэв для любого Python-разработчика, работающего с нестандартными структурами данных
🔥42👍2
Автоматизация и скриптинг

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

Не беспокойтесь, питон тебя прикроет. Есть множество вещей, которые вы можете автоматизировать всего за 4-5 строк кода. От установки заданий cron и напоминаний до загрузки ваших любимых видео на YouTube, вы можете сделать все это с помощью нескольких строк в python.
👍2🔥1
Разбиение строки в список

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

Чтобы разделить по пустому месту, не нужно передавать в split никаких аргументов – используйте mystring.split().

Split также имеет второй параметр, называемый maxsplit, который определяет максимальное количество разбиений. По умолчанию он равен -1 (без ограничений).
👍4🔥2
Аннотации типов

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

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

С версии Python 3.5 при определении функции можно добавлять аннотации типов

Также они позволяют использовать инструменты для проверки типов, чтобы отлавливать ошибки TypeError.
👍3🔥1
Декорируем функции

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

Внутри print_argument мы определяем функцию-обертку. Она выводит аргумент и имя вызываемой функции, выполняет фактическую функцию и возвращает ее результат, как если бы функция вызывалась «обычно».

С помощью print_argument мы применяем наш декоратор к функции. Декоратор может быть повторно использован и для других функций.
👍31🤔1
Курс «Английский для разработчиков» Яндекс Практикума

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

Обучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков:

Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи.
👨‍💻 Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи.
📣 Митапы. Сможете понимать на слух доклады и выступать сами.
😎 Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать.
👯 Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее.
💻 Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение.

Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.
👍2
Data classes

Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:

• возврат нескольких значений или словарей;
• класс данных требует минимального количества кода;
• возможность сравнения классов данных;
• возможность распечатать класс данных для отладки при помощи repr;
• снижение вероятности ошибок в связи с требованием класса данных type hints
👍32👌1
Проверка на вхождение подстроки

Это маленькая, довольно очевидная подсказка, но я узнал о ней лишь через год изучения Python. Должно быть, вы знаете, что можно проверить, содержится ли нужный элемент в кортеже, списке, словаре, с помощью конструкции 'item in list' или 'item not in list'. Я не мог представить, что это сработает для строк.
👌3👍1🔥1
xkcd

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

Конечно, чувство юмора не заканчивается на документации.
👍41👌1
YAML (ч.1)

YAML означает «YAML — не язык разметки» («YAML Ain’t Markup Language»). Это язык форматирования данных, являющийся надмножеством JSON.

В отличие от JSON, YAML может хранить более сложные объекты и ссылаться на собственные элементы.
👍4🔥2👌1
YAML (ч.2)

Также там можно писать комментарии, что делает YAML подходящим для конфигурационных файлов.

Модуль PyYAML позволяет использовать YAML в Python.

PyYAML позволяет хранить любые Python-объекты и экземпляры любых пользовательских классов.
👍2👌2🔥1