Профилирование — это процесс, который помогает при работе с данными и их обработке.
Пожалуй, одна из самых известных Python-библиотек для этого – Pandas. Данная библиотека является довольно понятной в использовании и благодаря ей можно быстро выполнять анализ данных.
Кроме того, Pandas имеет встроенную функцию .plot() как часть класса DataFrame, что позволяет демонстрировать на графиках обрабатываемые данные.
Подписывайтесь на канал 👉@pythonofff
Пожалуй, одна из самых известных Python-библиотек для этого – Pandas. Данная библиотека является довольно понятной в использовании и благодаря ей можно быстро выполнять анализ данных.
Кроме того, Pandas имеет встроенную функцию .plot() как часть класса DataFrame, что позволяет демонстрировать на графиках обрабатываемые данные.
Подписывайтесь на канал 👉@pythonofff
👍4
Подсказки типа
Python — это язык с динамической типизацией. Вам не нужно указывать тип данных при определении переменных, функций, классов и т.д.
Такой прием сокращает время разработки. Однако есть и более страшные вещи, чем ошибка при выполнении, вызванная простой проблемой ввода.
Подписывайтесь на канал 👉@pythonofff
Python — это язык с динамической типизацией. Вам не нужно указывать тип данных при определении переменных, функций, классов и т.д.
Такой прием сокращает время разработки. Однако есть и более страшные вещи, чем ошибка при выполнении, вызванная простой проблемой ввода.
Подписывайтесь на канал 👉@pythonofff
👍4👎1
sh
Python — это отличный скриптовый язык. Иногда использование стандартных библиотек os и subprocess становится настоящей головной болью.
А библиотека sh является отличной альтернативой.
С ней вы сможете вызывать любую программу как обычную функцию — это крайне полезно для автоматизации рабочего процесса и задач, причем все делается в самом Python.
Подписывайтесь на канал 👉@pythonofff
Python — это отличный скриптовый язык. Иногда использование стандартных библиотек os и subprocess становится настоящей головной болью.
А библиотека sh является отличной альтернативой.
С ней вы сможете вызывать любую программу как обычную функцию — это крайне полезно для автоматизации рабочего процесса и задач, причем все делается в самом Python.
Подписывайтесь на канал 👉@pythonofff
👍4
Что такое аннотации типов?
Аннотации типов – это новая возможность, описанная в PEP484, которая позволяет добавлять подсказки о типах переменных. Они используются, чтобы информировать читателя кода, каким должен быть тип переменной.
Это придаёт немного статический вид коду на динамически типизированном Python. Достигается это синтаксисом: <тип> после инициализации / объявления переменной.
Подписывайтесь на канал 👉@pythonofff
Аннотации типов – это новая возможность, описанная в PEP484, которая позволяет добавлять подсказки о типах переменных. Они используются, чтобы информировать читателя кода, каким должен быть тип переменной.
Это придаёт немного статический вид коду на динамически типизированном Python. Достигается это синтаксисом: <тип> после инициализации / объявления переменной.
Подписывайтесь на канал 👉@pythonofff
👍2
Передавайте в функцию сколько угодно элементов — используйте kwargs
Если при разработке программы нужно выполнить несколько похожих действий, то лучшее решение — определить функции для многоразового использования кода. Для этого вызовите функцию с аргументом. Но что делать, если аргументы функции определены, а вам нужно передать больше значений? Для этого можно использовать kwargs — функции для именованных аргументов.
Подписывайтесь на канал 👉@pythonofff
Если при разработке программы нужно выполнить несколько похожих действий, то лучшее решение — определить функции для многоразового использования кода. Для этого вызовите функцию с аргументом. Но что делать, если аргументы функции определены, а вам нужно передать больше значений? Для этого можно использовать kwargs — функции для именованных аргументов.
Подписывайтесь на канал 👉@pythonofff
👍3
Сделайте «санитарную» обработку входных данных эффективнее
Чем больше размер программы, тем выше шансы пропустить уязвимость в коде. Один из способов обезопасить себя от возможных ошибок — очистка входных данных перед выполнением программы (input sanitization).
В большинстве случаев при таком подходе достаточно поменять регистр символов или использовать регулярные выражения.
Подписывайтесь на канал 👉@pythonofff
Чем больше размер программы, тем выше шансы пропустить уязвимость в коде. Один из способов обезопасить себя от возможных ошибок — очистка входных данных перед выполнением программы (input sanitization).
В большинстве случаев при таком подходе достаточно поменять регистр символов или использовать регулярные выражения.
Подписывайтесь на канал 👉@pythonofff
👍1
Деление с плавающей запятой
При делении целых чисел в Python результат будет целым, даже если на самом деле он был дробным. Чтобы получить корректный ответ, приходится делать что-то подобное:
result = 1.0/2
Но у этой проблемы есть и другое решение
Подписывайтесь на канал 👉@pythonofff
При делении целых чисел в Python результат будет целым, даже если на самом деле он был дробным. Чтобы получить корректный ответ, приходится делать что-то подобное:
result = 1.0/2
Но у этой проблемы есть и другое решение
Подписывайтесь на канал 👉@pythonofff
👍2👎2
Упростите использование операторов сравнения
Использовать все операторы сравнения для одного класса может быть довольно сложно, учитывая, что их немало: It, le, gt или ge. Но есть ли более простой способ сделать это? Здесь поможет functools.total.ordering
Подписывайтесь на канал 👉@pythonofff
Использовать все операторы сравнения для одного класса может быть довольно сложно, учитывая, что их немало: It, le, gt или ge. Но есть ли более простой способ сделать это? Здесь поможет functools.total.ordering
Подписывайтесь на канал 👉@pythonofff
👍4
pprint
Стандартная функцияprint в Python знает свое дело. Но попробуйте вывести на печать крупный и вложенный объект, и вас ждет сплошное разочарование.
Вот здесь-то и приходит на помощь модуль pretty-print из стандартной библиотеки. Он выводит сложно-структурированные объекты в удобочитаемом виде.
Настоящий must-have для любого Python-разработчика, имеющего дело с нетривиальными структурами данных.
Подписывайтесь на канал 👉@pythonofff
Стандартная функцияprint в Python знает свое дело. Но попробуйте вывести на печать крупный и вложенный объект, и вас ждет сплошное разочарование.
Вот здесь-то и приходит на помощь модуль pretty-print из стандартной библиотеки. Он выводит сложно-структурированные объекты в удобочитаемом виде.
Настоящий must-have для любого Python-разработчика, имеющего дело с нетривиальными структурами данных.
Подписывайтесь на канал 👉@pythonofff
👍6👎1
При необходимости используйте итератор со срезами
Итератор — это инструмент для поточной обработки данных. Он отвечает за упрощение навигации по элементам: списку, словарю и так далее. Это такой объект-перечислитель, который выдаёт следующий элемент. В основном его используют в цикле for.
Подписывайтесь на канал 👉@pythonofff
Итератор — это инструмент для поточной обработки данных. Он отвечает за упрощение навигации по элементам: списку, словарю и так далее. Это такой объект-перечислитель, который выдаёт следующий элемент. В основном его используют в цикле for.
Подписывайтесь на канал 👉@pythonofff
👍1
Комбинации вложенных списков
Пожалуй, одна из моих любимых библиотек в Python — это itertools. Чтобы преобразить код, содержащий десятки списков, в глубоко вложенный список, достаточно нескольких манипуляций. itertools именно то, что вам нужно, чтобы решить эту задачу.
Подписывайтесь на канал 👉@pythonofff
Пожалуй, одна из моих любимых библиотек в Python — это itertools. Чтобы преобразить код, содержащий десятки списков, в глубоко вложенный список, достаточно нескольких манипуляций. itertools именно то, что вам нужно, чтобы решить эту задачу.
Подписывайтесь на канал 👉@pythonofff
👍2
Перезагрузка оператора
Python поддерживает перезагрузку оператора. Зная эти слова, вы сразу кажитесь настоящим компьютерным гением.
На самом деле, концепция довольно проста. Вы когда-нибудь задавались вопросом, почему в Python можно использовать оператор + для добавления чисел и конкатенации строк? Это и есть перезагрузка оператора в чистом виде.
Вы можете определить объекты, которые будут пользоваться стандартными символами операторов Python по-своему. Тогда их можно будет использовать в зависимости от содержимого объектов, с которыми вы работаете.
Подписывайтесь на канал 👉@pythonofff
Python поддерживает перезагрузку оператора. Зная эти слова, вы сразу кажитесь настоящим компьютерным гением.
На самом деле, концепция довольно проста. Вы когда-нибудь задавались вопросом, почему в Python можно использовать оператор + для добавления чисел и конкатенации строк? Это и есть перезагрузка оператора в чистом виде.
Вы можете определить объекты, которые будут пользоваться стандартными символами операторов Python по-своему. Тогда их можно будет использовать в зависимости от содержимого объектов, с которыми вы работаете.
Подписывайтесь на канал 👉@pythonofff
👍2👎1
inspect
Модуль inspect идеален для понимания общего «закулисья» Python. А еще вы можете вызывать его методы!
Пример кода ниже использует inspect.getsource() для вывода собственного номера строки. А inspect.getmodule() используется для печати модуля, в котором он был определен.
Последняя строка кода выводит собственный номер строки.
Подписывайтесь на канал 👉@pythonofff
Модуль inspect идеален для понимания общего «закулисья» Python. А еще вы можете вызывать его методы!
Пример кода ниже использует inspect.getsource() для вывода собственного номера строки. А inspect.getmodule() используется для печати модуля, в котором он был определен.
Последняя строка кода выводит собственный номер строки.
Подписывайтесь на канал 👉@pythonofff
👍2
Ограничьте использование процессора и памяти
Если вы не хотите оптимизировать память вашей программы или корректировать работу процессора, то можно просто установить лимиты. К счастью, в Python для этого есть специальная библиотека
Подписывайтесь на канал 👉@pythonofff
Если вы не хотите оптимизировать память вашей программы или корректировать работу процессора, то можно просто установить лимиты. К счастью, в Python для этого есть специальная библиотека
Подписывайтесь на канал 👉@pythonofff
👍3
collections
В Python есть отличные встроенные типы данных, но иногда они ведут себя не так, как вам бы хотелось.
К счастью, в стандартной библиотеке Python присутствует модуль collections. Это полезное дополнение предлагает расширенные типы данных.
Подписывайтесь на канал 👉@pythonofff
В Python есть отличные встроенные типы данных, но иногда они ведут себя не так, как вам бы хотелось.
К счастью, в стандартной библиотеке Python присутствует модуль collections. Это полезное дополнение предлагает расширенные типы данных.
Подписывайтесь на канал 👉@pythonofff
👍3
Задание определенной точности
Иногда нам нужно указать количество знаков после запятой в числе. В такой ситуации мы используем все ту же функцию float(), а после нее — функцию format(), чтобы определить количество десятичных знаков в нашем числе.
В данном примере мы работаем со строкой «6.759104». Нам нужно преобразовать эту строку в число с плавающей запятой и оставить только 4 цифры после запятой.
Подписывайтесь на канал 👉@pythonofff
Иногда нам нужно указать количество знаков после запятой в числе. В такой ситуации мы используем все ту же функцию float(), а после нее — функцию format(), чтобы определить количество десятичных знаков в нашем числе.
В данном примере мы работаем со строкой «6.759104». Нам нужно преобразовать эту строку в число с плавающей запятой и оставить только 4 цифры после запятой.
Подписывайтесь на канал 👉@pythonofff
👍2
Несколько возможных типов возвращаемых значений
Если в вашей функции есть переменная, принимающая значения различных типов, можно использовать типы typing.Optional или typing.Union.
Используйте Optional, если значение будет либо определенного типа, либо исключительно None.
Подписывайтесь на канал 👉@pythonofff
Если в вашей функции есть переменная, принимающая значения различных типов, можно использовать типы typing.Optional или typing.Union.
Используйте Optional, если значение будет либо определенного типа, либо исключительно None.
Подписывайтесь на канал 👉@pythonofff
👍4
Легко пропускайте начало итерируемого объекта
Иногда приходится работать с файлами, которые начинаются с неизвестного нам количества бесполезных строк, например, с комментариев. И тут itertools снова предлагает простое решение
Подписывайтесь на канал 👉@pythonofff
Иногда приходится работать с файлами, которые начинаются с неизвестного нам количества бесполезных строк, например, с комментариев. И тут itertools снова предлагает простое решение
Подписывайтесь на канал 👉@pythonofff
1 декабря в Москве пройдет большая IT-конференция Импульс от Холдинга Т1.
В программе — выступления про цифровизацию, архитектуру, чистый код и формирование эффективных продуктовых команд от тех, кто работает над передовыми российскими разработками прямо сейчас:
• Алексей Фетисов - генеральный директор Холдинга Т1
• Павел Гонтарев, управляющий директор VK Тech
• Артем Кострюков, CEO TestIT
• Михаил Степнов, Руководитель центра R&D МТС Big Data/ CDO МТС Маркетолог
• Мария Тихонова, главный инженер по разработке в SberDevices
и другие эксперты.
А в завершении конференции — выступление группы Uma2rman.
Регистрируетесь. Вход бесплатный.
ЕРИД: LdtCKBQST
18+ Реклама. ООО «Т1»
ОГРН 1197746617419
В программе — выступления про цифровизацию, архитектуру, чистый код и формирование эффективных продуктовых команд от тех, кто работает над передовыми российскими разработками прямо сейчас:
• Алексей Фетисов - генеральный директор Холдинга Т1
• Павел Гонтарев, управляющий директор VK Тech
• Артем Кострюков, CEO TestIT
• Михаил Степнов, Руководитель центра R&D МТС Big Data/ CDO МТС Маркетолог
• Мария Тихонова, главный инженер по разработке в SberDevices
и другие эксперты.
Регистрируетесь. Вход бесплатный.
ЕРИД: LdtCKBQST
18+ Реклама. ООО «Т1»
ОГРН 1197746617419
👍4
Упрощенный вывод данных
Он позволяет вывести строчный массив одной строкой, с разделением запятыми. Нам не нужно использовать .join() и циклы.
Подписывайтесь на канал 👉@pythonofff
Он позволяет вывести строчный массив одной строкой, с разделением запятыми. Нам не нужно использовать .join() и циклы.
Подписывайтесь на канал 👉@pythonofff
👎3👍1🤔1