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

Реклама - @gaifullin
Download Telegram
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
Использование * и ** для распаковки аргументов функций

Некоторые функции требуют длинного списка аргументов. Этого следует избегать (например, с помощью классов данных), хотя это не всегда зависит от вас. Существует другой вариант – создать словарь с именованными аргументами и передать его функции. Так ваш код станет более читабельным.

Распаковать словарь можно, используя префикс **:
👍4🔥1👌1
Записывайтесь на курс от Хекслета, пройдите 5 бесплатных уроков профессии и получите скидку 10% на курс!

Мы заинтересованы в успешном трудоустройстве наших студентов — гарантируем стажировки от компаний-партнеров и участие в Карьерном треке. Вернем деньги, если после учебы не получилось найти работу🔝

На профессии «Python-разработчик» вы за 10 месяцев:

✔️ Научитесь работать с сетевыми запросами и овладеете навыком проектирования архитектуры приложений, сможете работать с чужим кодом и оформлять пул-реквесты в Open Source проектах.
✔️ Решите более 310 задач в браузере, создадите 4 проекта для портфолио на GitHub и выполните 150 тестовых заданий от наших партнёров.

Оцените формат и решите, стоит ли продолжать! Вводные ознакомительные курсы профессии доступны бесплатно сразу после регистрации!
🔥1
Расчет времени выполнения

Этот простейший “трюк” поможет рассчитать время, необходимое для выполнения программы. Используя time-модуль, вы можете точно узнать, сколько времени требуется программе для выполнения кода.
🔥3👍1
Распечатывание ежемесячного календаря

Этот лайфхак — всего лишь скрытая функция Python, которая позволяет распечатывать ежемесячный календарь в формате таблицы.
🔥2👍1
Яндекс Практикум запустил бесплатный курс “Основы работы с Git”. Вы сможете полностью освоить популярную систему контроля версий кода за 20 часов.

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

На курсе вы научитесь:
— Писать код вместе с другими разработчиками и разработчицами;
— Отменять и откладывать изменения в своих ветках;
— Использовать локальный и удалённый репозиторий;
— Соединять ветки и разрешать конфликты;
— Управлять репозиторием через IDE и консоль;
— Понимать принципы и культуру командной разработки.

И освоите необходимые инструменты и технологии:
— GitHub;
— Terminal;
— GitHub Desktop;
— Bitbucket;
— GitBash;
— GitLab.

Переходите по ссылке и начинайте заниматься уже сейчас.

Реклама АНО ДПО "Образовательные технологии Яндекса", ИНН:7704282033, erid: LjN8KCT9Y
1👍1
Get Method для словаря

Большинство разработчиков используют скобки, чтобы получить значение из словаря. Но сейчас рекомендуется использовать Get method.

При использовании метода скобок выдается ошибка, если ключ отсутствует. С помощью Get method вы получите “None” .
🔥41
f-строки 2.0
Python 3.8

Сложно описать словами, насколько проще и элегантнее сделали форматирование f-строки, появившиеся ещё в Python 3.6.


Сложно поверить, но Python 3.8 удалось сделать их ещё удобнее. Добавив знак = после имени подставляемой переменной, вы сможете вывести её имя и её значение без дублирования имени.

Дебаг с помощью print станет ещё удобнее
👍7🔥31