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

Реклама - @gaifullin
Download Telegram
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
🧬 Примите участие в международной конференции Data Fusion 2023 от ВТБ, которая пройдёт 13-14 апреля.

Конференция будет полезна разработчикам и специалистам в области Data Science, CDO, бизнес-заказчикам DS-продуктов и сервисов, представителям государства и науки.

Первый день конференции будет посвящен аспектам управления данными, практикам перехода на доверенные технологии, доступности дата-сетов для ИИ и другим темам, актуальным для CDO и руководителей бизнес-подразделений.

Программа 14 апреля адресована data science специалистам и исследователям. Темы докладов и сессий распределены по трем стримам: «ML+», «AI Classic», «ML Environment».

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

Участие в конференции бесплатное. Успейте зарегистрироваться по ссылке: https://cnrlink.com/datafusion81
👍1
Красивый вывод списка (ч.1)

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

Метод join преобразовывает список в строку, рассматривая каждый элемент как строку.
🤮3🔥2👍1👌1
🚀 Участвуй в хакатоне от «Лаборатории Касперского» с призовым фондом 500 000 рублей. На хакатон приглашаются разработчики, аналитики, QA-специалисты, архитекторы ПО, специалисты и эксперты по ИБ.

Даты проведения хакатона: 17-28 апреля. Регистрация открыта до 16 апреля включительно: https://cnrlink.com/hackcyberimmunepy

Хакатон по кибериммунной разработке предлагает две невероятно интересные задачи, связанные с энергетической безопасностью:

— Создание программы для обнаружения повышенного радиационного фона в трубах с паром на атомной электростанции.
— Создание программы для управления оборудованием на теплоэлектростанции.

Задачи хакатона не требуют специфических знаний в энергетической отрасли, поэтому будут понятны и полезны всем: студентам, преподавателям, middle-, senior-специалистам, техническим директорам.

Участвовать можно индивидуально или в команде до 5 человек. Успей зарегистрироваться до 16 апреля включительно: https://cnrlink.com/hackcyberimmunepy
👍1
Queue (ч.1)

Python поддерживает многопоточность, в использовании которой помогает стандартный модуль Queue.

Он позволяет реализовывать такую структуру данных, как очередь. Очереди позволяют добавлять и извлекать элементы согласно определённому правилу.
👍21
🚀 Смотрите международную конференцию Data Fusion 2023 в прямом эфире прямо сейчас! Конференция посвящена работе с данными и развитию технологий искусственного интеллекта.

Data Fusion 2023 – это точка сближения науки и бизнеса. Конференция будет полезна разработчикам и специалистам в области Data Science, CDO, бизнес-заказчикам DS-продуктов и сервисов, представителям государства и науки. 

Присоединяйтесь к экспертам Банка ВТБ, Яндекса, Сколтеха, «Газпром нефти», ВШЭ и многим другим.

👉 Смотрите международную конференцию Data Fusion 2023 по ссылке: https://cnrlink.com/df2023online
1👍1🔥1
Queue (ч.2)

Очереди «первым пришёл — первым ушёл» («first in, first out», FIFO) позволяют извлекать объекты в порядке их добавления. Из очередей «последним пришёл — первым ушёл» («last in, first out», LIFO) можно извлекать последние добавленные объекты.

Наконец, приоритетные очереди позволяют извлекать объекты согласно порядку их сортировки.
👍32👌1
uuid

Стандартный модуль uuid — быстрый и простой способ сгенерировать UUID (universally unique identifier, глобально уникальный идентификатор).

Так мы создаём случайное 128-битное число, которое почти наверняка будет уникальным.

Существует более 2¹²² возможных UUID. Это более 5 ундециллионов или 5,000,000,000,000,000,000,000,000,000,000,000,000.

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

Вполне недурно для двух строк кода.
👍72🔥1👌1
Целочисленное деление и деление с плавающей точкой (ч.1)

Если вы делите целое число на целое, по умолчанию результат обрезается до целого. Например, 5/2 вернет 2.

Есть два способа это исправить. Первый и самый простой способ заключается в том, чтобы преобразовать одно из чисел к типу float. Для констант достаточно добавить ".0" к одному из чисел: 5.0/2 вернет 2.5. Также вы можете использовать конструкцию float(5)/2.

Второй способ дает более чистый код, но вы должны убедиться, что ваша программа не сломается от этого существенного изменения.
1👌1🤡1🖕1
Хотите начать карьеру в IT?

Быстро освоить навыки и перейти к практике — легко! 

Платформа Deepskills представляет методику микрообучения, которая поможет вам быстро войти в профессию и получить работу мечты!

Курсы от практикующих экспертов.

Бесплатный пробный период в течение 14 дней, чтобы вы убедились в качестве нашего обучения.

Начни свой путь к успеху уже сегодня.

Учись на практике с Deepskills!
👍1🔥1👀1
Списковые включения

Возможно где-то до этого ты уже мог слышать понятие «list comprehensions». Это такой способ уместить цикл for, блок if и присваивание в одну строку.

Начнем с простейшего примера. Допустим, нам снова надо возвести в квадрат все элементы списка.

Да, определенно этот код короче предыдущего, но всё еще некрасив. С первого взгляда сложно сказать, что делает функция map (она принимает в качестве аргументов функцию и список и применяет функцию к каждому элементу списка). К тому же мы вынуждены определять функцию, это выглядит довольно беспорядочно.

Но, оказывается, можно писать проще и понятнее
👍21🔥1👌1
Подсчет вхождений в список

Используйте Counter из библиотеки коллекций, чтобы получить словарь с подсчетом всех уникальных элементов в списке
👌41
✈️ С 12 по 27 мая участвуй в хакатоне Aeroclub Challenge 2023 от компании «Аэроклуб» — лидера российского рынка business travel и поставщика IT-решений для отрасли.

🏆 Поборись за призовой фонд в размере 1 000 000 рублей. Регистрация открыта до 10 мая: https://cnrlink.com/aeroclubchallenge23

🎯 На Aeroclub Challenge 2023 приглашаются математики, дата сайентисты, python- и java-специалисты, аналитики, разработчики и эксперты в теме Travel с уровнями навыков junior, middle и senior. Участвовать можно индивидуально или в команде до 5 человек.

🧩 2 интересные задачи на выбор:

1. Создание обработчика писем электронной почты (Классификация писем по типу заявки и не заявки, извлечение и уточнение по заявке формализованного набора параметров, требуемых для обработки заявки);

2. Создание сервиса ранжирования предложений Auto Avia Offer (Автоматизация процесса подбора и отправки вариантов перелета с ценами в ответ на заявку по электронной почте).

Успей зарегистрироваться до 10 мая: https://cnrlink.com/aeroclubchallenge23
👍1👌1
wikipedia

У Wikipedia есть классное API, которое позволяет получить доступ к непревзойдённому источнику полностью бесплатной информации.

Модуль wikipedia делает доступ к этому API чуть ли чрезмерно удобным

Как и настоящий сайт, модуль предоставляет поддержку многих языков, разрешение многозначности страниц, получение случайной страницы и даже метод donate()
👍2🔥1👌1
inspect (ч.1)

Модуль inspect пригодится для понимания того, что происходит за кулисами в Python. Вы даже можете вызывать его методы на них самих!

Ниже используется метод inspect.getsource() для вывода его собственного исходного кода. Также используется метод inspect.getmodule() для вывода модуля, в котором его определили.
👍3🔥2👌1
Валидные значения словаря

В словарь можно поместить что угодно – вы не ограничены числами или строками. Можете поместить списки внутрь словаря и получить доступ к вложенным значениям
👍2🔥1👌1
geopy

География бывает крайне загадочной средой для программистов (ха, вот так каламбур!). Но с модулем geopy все становится на удивление просто.

Его работа заключается в абстрагировании API-интерфейсов различных сервисов геокодирования, что позволяет вам получать доступ к полному адресу нужного места, его широте, долготе и даже высоте.
👍3🌚2👌1
Самый частый элемент

Этот короткий скрипт вернёт элемент, чаще всего встречающийся в списке.

Используются продвинутые параметры встроенной функции max():

• первым аргументом она получает множество из элементов списка (помним, что в множестве все элементы уникальны);
• затем применяет к каждому из них функцию count, подсчитывающую, сколько раз элемент встречается в списке;
• после этого возвращает элемент множества, который имеет больше всего «попаданий».

В качестве аргумента можно использовать списки, кортежи и строки.
👍41👌1
Знакомимся с Python и Java на практике за 2 дня.

🗓 Регистрируйтесь на бесплатный онлайн-вебинар — 23-24 мая в 19.00 МСК!

На вебинарах вы:
Поймете: какие задачи решают разработчики, какие проекты реализуют и почему им так много платят.
Узнаете: что изучить, чтобы начать свой путь в программирование и через год стать востребованным специалистом.
Разберете реальные задачи на Python и Java и попробуете себя в кодинге.
Выясните: как пройти собеседование, найти удаленную работу и начать менять свою жизнь уже сегодня.

🎁 Все участники получат «Карту компетенций бэкенд-разработчика» в подарок! Она поможет составить свой образовательный трек и понять, какие навыки и инструменты необходимы для трудоустройства.
1
Query JSON

JMESpath – это язык запросов для JSON, который позволяет получать необходимые данные из документа или словаря JSON. Библиотека доступна как для Python, так и для других ЯП, что расширяет ее возможности.
👍2👌2