pythonofff | Unsorted

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

7384

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

Subscribe to a channel

Python академия

Простые структуры данных

Однострочником, также очень просто вызвать инициализацию структур данных в Python. Гарольд Купер, реализовал однострочную древовидную структуру, используя следующий код

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

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

Python академия

Используйте объекты, которые поддерживают оператор with

Открыть файл и заблокировать фрагмент кода можно с помощью оператора with, но можно ли сделать это, пользуясь собственным методом? Да, можно реализовать протокол context manager, используя методы enter и exit

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

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

Python академия

Преобразование списка строк

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

Мы создаем пустой список number, куда добавим наши числа в формате float. Далее мы используем цикл for для добавления каждого элемента из исходного списка в список number. При этом перед добавлением мы передаем в функцию float() каждый элемент, чтобы преобразовать его из строки в число с плавающей запятой.

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

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

Python академия

Абстракция словарей/множеств

С абстракциями списков (list comprehension) вы скорее всего сталкивались, но вот с абстракциями словарей/множеств (dict/set comprehension) — вряд ли. Они просты в использовании и так же эффективны.

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

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

Python академия

1 декабря в Москве пройдет большая IT-конференция Импульс от Холдинга Т1.

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

  Алексей Фетисов - генеральный директор Холдинга Т1
  Павел Гонтарев, управляющий директор VK Тech
  Артем Кострюков, CEO TestIT
  Михаил Степнов, Руководитель центра R&D МТС Big Data/ CDO МТС Маркетолог
  Мария Тихонова, главный инженер по разработке в SberDevices
и другие эксперты.

А в завершении конференции — выступление группы Uma2rman.

Регистрируетесь. Вход бесплатный. 

ЕРИД: LdtCKBQST
18+ Реклама. ООО «Т1»
ОГРН 1197746617419

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

Python академия

Несколько возможных типов возвращаемых значений

Если в вашей функции есть переменная, принимающая значения различных типов, можно использовать типы typing.Optional или typing.Union.

Используйте Optional, если значение будет либо определенного типа, либо исключительно None.

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

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

Python академия

✌️ Привет! На связи Podlodka Python Crew.

Крупные сервисы успешно разрабатывают не только на языках со статической типизацией.

🐍 Поэтому 4 декабря запускаем новый сезон с темой «Python для энтерпрайза».

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

В этот раз мы пригласили крутых экспертов по Python из компаний-гигантов — например, КРОК, Точки, X5 Tech, Райффайзен банка, Selectel и других. На докладах, воркшопах и круглых столах мы:

🔸 Послушаем, как меняются ценности и подходы у разработчика в enterprise.
🔸 Узнаем, как собирать и поддерживать шаблон репозитория для микросервисов.
🔸 Разберём принципы Domain-Driven Design на примере фреймворка Django.
🔸 Выясним правила работы с observability: как настраивать мониторинг, логирование и трейсинг.

👉 больше подробностей — на сайте: https://podlodka.io/pythoncrew (успей купить билет со скидкой до 28 ноября)

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

Python академия

Ограничьте использование процессора и памяти

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

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

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

Python академия

Перезагрузка оператора

Python поддерживает перезагрузку оператора. Зная эти слова, вы сразу кажитесь настоящим компьютерным гением.

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

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

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

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

Python академия

При необходимости используйте итератор со срезами

Итератор — это инструмент для поточной обработки данных. Он отвечает за упрощение навигации по элементам: списку, словарю и так далее. Это такой объект-перечислитель, который выдаёт следующий элемент. В основном его используют в цикле for.

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

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

Python академия

Упростите использование операторов сравнения

Использовать все операторы сравнения для одного класса может быть довольно сложно, учитывая, что их немало: It, le, gt или ge. Но есть ли более простой способ сделать это? Здесь поможет functools.total.ordering

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

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

Python академия

Сделайте «санитарную» обработку входных данных эффективнее

Чем больше размер программы, тем выше шансы пропустить уязвимость в коде. Один из способов обезопасить себя от возможных ошибок — очистка входных данных перед выполнением программы (input sanitization).

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

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

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

Python академия

Передавайте в функцию сколько угодно элементов — используйте kwargs

Если при разработке программы нужно выполнить несколько похожих действий, то лучшее решение — определить функции для многоразового использования кода. Для этого вызовите функцию с аргументом. Но что делать, если аргументы функции определены, а вам нужно передать больше значений? Для этого можно использовать kwargs — функции для именованных аргументов.

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

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

Python академия

sh

Python — это отличный скриптовый язык. Иногда использование стандартных библиотек os и subprocess становится настоящей головной болью.

А библиотека sh является отличной альтернативой.

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

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

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

Python академия

Профилирование — это процесс, который помогает при работе с данными и их обработке.

Пожалуй, одна из самых известных Python-библиотек для этого – Pandas. Данная библиотека является довольно понятной в использовании и благодаря ей можно быстро выполнять анализ данных.

Кроме того, Pandas имеет встроенную функцию .plot() как часть класса DataFrame, что позволяет демонстрировать на графиках обрабатываемые данные.

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

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

Python академия

Сила «однострочников» (One-Liners)

Вы устали пробираться между строк кода и теряться в условных конструкциях? Тогда, однострочники Python — это то, что вам нужно.

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

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

Python академия

Как перевернуть список в Python с помощью срезов

Срезы работают аналогично функции range(), которую мы разобрали ранее.

Срез также включает в себе три параметра: start, stop и step.

Синтаксис выглядит следующим образом: [start:end:step].

Если вы хотите вывести все элементы, вы можете использовать один из двух следующих способов

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

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

Python академия

импорт из __future__

Одно из следствий популярности Python — постоянная разработка следующих версий. Новые версии несут в себе новые функции, если, конечно, ваша версия не устаревшая.

Бояться здесь нечего. Модуль_future_ позволяет импортировать в Python функционал будущих версий. Без всяких преувеличений, перед вами — настоящее путешествие во времени или магия.

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

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

Python академия

Упрощенный вывод данных

Он позволяет вывести строчный массив одной строкой, с разделением запятыми. Нам не нужно использовать .join() и циклы.

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

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

Python академия

Легко пропускайте начало итерируемого объекта

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

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

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

Python академия

Задание определенной точности

Иногда нам нужно указать количество знаков после запятой в числе. В такой ситуации мы используем все ту же функцию float(), а после нее — функцию format(), чтобы определить количество десятичных знаков в нашем числе.

В данном примере мы работаем со строкой «6.759104». Нам нужно преобразовать эту строку в число с плавающей запятой и оставить только 4 цифры после запятой.

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

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

Python академия

collections

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

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

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

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

Python академия

inspect

Модуль inspect идеален для понимания общего «закулисья» Python. А еще вы можете вызывать его методы!

Пример кода ниже использует inspect.getsource() для вывода собственного номера строки. А inspect.getmodule() используется для печати модуля, в котором он был определен.

Последняя строка кода выводит собственный номер строки.

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

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

Python академия

Комбинации вложенных списков

Пожалуй, одна из моих любимых библиотек в Python — это itertools. Чтобы преобразить код, содержащий десятки списков, в глубоко вложенный список, достаточно нескольких манипуляций. itertools именно то, что вам нужно, чтобы решить эту задачу.

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

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

Python академия

pprint

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

Вот здесь-то и приходит на помощь модуль pretty-print из стандартной библиотеки. Он выводит сложно-структурированные объекты в удобочитаемом виде.

Настоящий must-have для любого Python-разработчика, имеющего дело с нетривиальными структурами данных.

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

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

Python академия

Деление с плавающей запятой

При делении целых чисел в Python результат будет целым, даже если на самом деле он был дробным. Чтобы получить корректный ответ, приходится делать что-то подобное:
result = 1.0/2

Но у этой проблемы есть и другое решение

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

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

Python академия

😎Устали от SQL запросов и хочется абстракций? Вам нужна ORM. Но ее надо уметь готовить.

Начните прокачивать скиллы с открытого урока «ORM: добро и зло», который пройдет 20 ноября в 20:00 мск. А продолжить сможете на практическом онлайн-курсе «Python Developer на специальных условиях.

Во время вебинара с Евгением Ревняковым, обсудим нюансы работы с БД при использовании механизма ORM. Поймем, как можно положить базу и как этого избежать. На примере связей one-to-many и many-to-many рассмотрим проблему n+1 запроса и оптимизации, которые дает нам ORM на уровне БД (db level) и в самом интерпретаторе (python level).

Регистрируйтесь бесплатно прямо сейчас и ставьте событие в календарь, чтобы ничего не пропустить: https://vk.cc/cspPFu

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

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

Python академия

Что такое аннотации типов?

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

Это придаёт немного статический вид коду на динамически типизированном Python. Достигается это синтаксисом: <тип> после инициализации / объявления переменной.

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

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

Python академия

Подсказки типа

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

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

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

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

Python академия

Counter

Ещё один прекрасный модуль из стандартной библиотеки — collections, и я хотел бы познакомить вас с collections.Counter. Используя Counter, легко получить счётчик списка. Это полезно для получения общего количества значений в данных, нулевого счёта данных и просмотра уникальных значений. В counter есть множество функций, которых нет в Pandas Series, что делает его значительно полезнее в определённых ситуациях

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

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