Как замерить время выполнения кода в Python?
Когда нужно понять, насколько быстро работает фрагмент кода, новички часто используют сторонние инструменты или пробуют измерять время "на глаз". Но в Python есть простой и встроенный способ - модуль time.
С помощью time.time() можно зафиксировать время до и после выполнения кода, а затем вычесть одно из другого.
Итог:
- Используем time.time() для измерения скорости.
- Удобно для профилирования и отладки.
- Легко встроить в любой проект.
Когда нужно понять, насколько быстро работает фрагмент кода, новички часто используют сторонние инструменты или пробуют измерять время "на глаз". Но в Python есть простой и встроенный способ - модуль time.
С помощью time.time() можно зафиксировать время до и после выполнения кода, а затем вычесть одно из другого.
Итог:
- Используем time.time() для измерения скорости.
- Удобно для профилирования и отладки.
- Легко встроить в любой проект.
👍3
Как присвоить несколько переменных в одну строку?
Иногда нужно сразу задать значения нескольким переменным. Новички делают это в несколько строк, что выглядит громоздко. Но Python поддерживает удобную конструкцию множественного присваивания — коротко, читаемо и эффективно!
С помощью этой фичи можно сразу задать значения, поменять переменные местами или распаковать кортеж - всё в одной строке.
Итог:
Множественное присваивание упрощает код.
Позволяет присваивать значения сразу нескольким переменным.
Удобно для обмена значениями и распаковки структур.
Иногда нужно сразу задать значения нескольким переменным. Новички делают это в несколько строк, что выглядит громоздко. Но Python поддерживает удобную конструкцию множественного присваивания — коротко, читаемо и эффективно!
С помощью этой фичи можно сразу задать значения, поменять переменные местами или распаковать кортеж - всё в одной строке.
Итог:
Множественное присваивание упрощает код.
Позволяет присваивать значения сразу нескольким переменным.
Удобно для обмена значениями и распаковки структур.
Зачем нужны кортежи, если есть списки?
На это есть несколько причин. Во первых, кортеж защищен от изменений, как намеренных (что плохо), так и случайных (что хорошо).
Во вторых, кортежи меньше размером чем списки. Это существенный плюс при работе с большими программами.
В третьих, это возможность использовать кортежи в качестве ключей словаря.
На это есть несколько причин. Во первых, кортеж защищен от изменений, как намеренных (что плохо), так и случайных (что хорошо).
Во вторых, кортежи меньше размером чем списки. Это существенный плюс при работе с большими программами.
В третьих, это возможность использовать кортежи в качестве ключей словаря.
Возврат нескольких значений
Функции в Python могут возвращать более одной переменной без применения словаря, списка или класса.
Здесь возвращается кортеж. С тем же эффектом можно было бы написать return (name, birthdate).
Это нормально для ограниченного количества возвращаемых значений. Но все, что превышает 3 значения, должно быть помещено в класс (data).
Функции в Python могут возвращать более одной переменной без применения словаря, списка или класса.
Здесь возвращается кортеж. С тем же эффектом можно было бы написать return (name, birthdate).
Это нормально для ограниченного количества возвращаемых значений. Но все, что превышает 3 значения, должно быть помещено в класс (data).
👍2
Получаем путь к текущему файлу
При работе с файлами часто нужно знать, где находится сам исполняемый скрипт. Новички могут указывать путь вручную, но Python умеет получать его автоматически с помощью встроенного модуля os.
Функция
При работе с файлами часто нужно знать, где находится сам исполняемый скрипт. Новички могут указывать путь вручную, но Python умеет получать его автоматически с помощью встроенного модуля os.
Функция
os.path.abspath(__file__) возвращает абсолютный путь к текущему файлу, а os.path.dirname() — директорию, в которой он находится.👍2
phonenumbers — это небольшая библиотека, для получения информации о номере телефона.
Что она умеет?
Данная библиотека имеет возможность узнать геолокацию номера телефона (страна, город), абонентом какого оператора он является, пройти проверку на валидацию и другое.
Сверху приведены два примера по валидации данных, но они возвращают разные значения
Почему так происходит?
Причина в том, что метод is_possible_number() быстро угадывает действительность телефонного номера, проверяя длину анализируемого номера, в то время как метод is_valid_number() выполняет полную проверку, проверяя длину, префикс телефонного номера и регион.
При итерации по большому списку телефонных номеров использование phonenumbers.is_possible_number() даст более быстрые результаты по сравнению с phonenumbers.is_valid_number() . Но, как мы видим здесь, эти результаты не всегда правильны. Так что используйте на свой страх и риск.
Ставится командой ⚙️
Что она умеет?
Данная библиотека имеет возможность узнать геолокацию номера телефона (страна, город), абонентом какого оператора он является, пройти проверку на валидацию и другое.
Сверху приведены два примера по валидации данных, но они возвращают разные значения
Почему так происходит?
Причина в том, что метод is_possible_number() быстро угадывает действительность телефонного номера, проверяя длину анализируемого номера, в то время как метод is_valid_number() выполняет полную проверку, проверяя длину, префикс телефонного номера и регион.
При итерации по большому списку телефонных номеров использование phonenumbers.is_possible_number() даст более быстрые результаты по сравнению с phonenumbers.is_valid_number() . Но, как мы видим здесь, эти результаты не всегда правильны. Так что используйте на свой страх и риск.
Ставится командой ⚙️
pip install phonenumbers
Краткая документация(с pypi) и примеры кода здесь.👍3
captcha — простая библиотека, которая генерирует заданную вами капчу!
Что умеет библиотека captcha?
Несомненно, библиотека слишком маленькая, но она всё же она имеет полезные функции, например: генерировать капчу ввиде фотографии(как показано на примере выше) и генерировать аудио капчу (аудиофайл).
Так же можно изменять шрифты на выбранные вами, что может быть полезно если tesseract(или другое приспособление для распознавания текста с фотографии) распознает текст. Если поиграться с различным настройками, может выйти что то годное.
Результат примера здесь.
Библиотека, кстати, досихпор обновляется, поэтому проблем быть не должно :3
Стоит отметить, что не нужно называть файл к примеру
Ставится командой ⚙️
Краткая документация(с pypi) и примеры кода здесь!
Что умеет библиотека captcha?
Несомненно, библиотека слишком маленькая, но она всё же она имеет полезные функции, например: генерировать капчу ввиде фотографии(как показано на примере выше) и генерировать аудио капчу (аудиофайл).
Так же можно изменять шрифты на выбранные вами, что может быть полезно если tesseract(или другое приспособление для распознавания текста с фотографии) распознает текст. Если поиграться с различным настройками, может выйти что то годное.
Результат примера здесь.
Библиотека, кстати, досихпор обновляется, поэтому проблем быть не должно :3
Стоит отметить, что не нужно называть файл к примеру
captcha.py , ведь тогда Python запутается и выдаст ошибку :(Ставится командой ⚙️
pip install captcha Краткая документация(с pypi) и примеры кода здесь!
PrettyTable — довольно полезный модуль для создания простых таблиц и вывода их в терминал или текстовый файл.
Модуль PrettyTable был вдохновлен таблицами ASCII, используемыми в оболочке PostgreSQL.
Возможности модуля PrettyTable:
• Установка ширины заполнения столбца, выравнивание текста или границы таблицы.
• Сортировка данных.
• Выбор отображения столбцов и строк в окончательном выводе.
• Чтение данных из CSV, HTML или курсора базы данных.
• Вывод данных в ASCII или HTML.
Модуль PrettyTable был вдохновлен таблицами ASCII, используемыми в оболочке PostgreSQL.
Возможности модуля PrettyTable:
• Установка ширины заполнения столбца, выравнивание текста или границы таблицы.
• Сортировка данных.
• Выбор отображения столбцов и строк в окончательном выводе.
• Чтение данных из CSV, HTML или курсора базы данных.
• Вывод данных в ASCII или HTML.
👍3
Работаем с переменными окружения в Python
Переменные окружения часто используются для хранения конфиденциальных данных — например, API-ключей, логинов, паролей. Вместо того чтобы хардкодить их в код, безопаснее читать их через
Это удобно, безопасно и позволяет легко переключаться между разными окружениями (например, dev и prod).
Переменные окружения часто используются для хранения конфиденциальных данных — например, API-ключей, логинов, паролей. Вместо того чтобы хардкодить их в код, безопаснее читать их через
os.environ.Это удобно, безопасно и позволяет легко переключаться между разными окружениями (например, dev и prod).
👍3
Невидимые заметки в файле!
Этот лайфхак позволяет скрывать текстовые сообщения внутри файлов, так что их нельзя будет увидеть обычными способами!
Как это работает?
Мы используем невидимые символы Unicode для сокрытия текста прямо в файле. Такие символы не отображаются в редакторах, но остаются в файле!
Как это работает?
Встроенные в текст невидимые символы Unicode (\u200b, \u200c) кодируют биты скрытого сообщения.
Файл выглядит обычным текстом, но содержит невидимую информацию.
Сообщение можно извлечь с помощью специального кода.
Этот лайфхак позволяет скрывать текстовые сообщения внутри файлов, так что их нельзя будет увидеть обычными способами!
Как это работает?
Мы используем невидимые символы Unicode для сокрытия текста прямо в файле. Такие символы не отображаются в редакторах, но остаются в файле!
Как это работает?
Встроенные в текст невидимые символы Unicode (\u200b, \u200c) кодируют биты скрытого сообщения.
Файл выглядит обычным текстом, но содержит невидимую информацию.
Сообщение можно извлечь с помощью специального кода.
❤1🔥1
Как удалить все falsy-значения из списка?
В списке могут быть нежелательные элементы, такие как
Этот приём позволяет удалить falsy-значения за одну строку:
Итог
Очистка списка за одну строку.
Удаляет
Удобно для предобработки данных!
В списке могут быть нежелательные элементы, такие как
None, пустые строки, 0 или False. Новички могут использовать циклы и условия, но Python предлагает элегантное решение — функцию filter().Этот приём позволяет удалить falsy-значения за одну строку:
list(filter(None, list1)) автоматически убирает None, 0, False и пустые строки. Итог
Очистка списка за одну строку.
Удаляет
None, 0, False, пустые строки и списки.Удобно для предобработки данных!
Как заменить все вхождения элемента в списке?
Иногда нужно заменить все вхождения одного элемента на другой. Новички могут использовать циклы, но Python позволяет сделать это проще — с помощью генератора списков.
Этот приём позволяет заменить элемент за одну строку:
Итог:
Работает за одну строку.
Заменяет все вхождения элемента.
Удобно для предобработки данных!
Иногда нужно заменить все вхождения одного элемента на другой. Новички могут использовать циклы, но Python позволяет сделать это проще — с помощью генератора списков.
Этот приём позволяет заменить элемент за одну строку:
[new_value if x == old_value else x for x in list1] проходит по списку и меняет нужные элементы. Итог:
Работает за одну строку.
Заменяет все вхождения элемента.
Удобно для предобработки данных!
SDV - библиотека, разработанная учеными MIT, использующая алгоритмы машинного обучения для генерации различного рода таблиц при помощи анализа реальных данных и создания на их основе синтетических данных в Python.
Либа позволяет создать единичные таблицы, соединенные мульти-таблицы и секвентальные таблицы.
Пример кода:
В результате генерирует такую таблицу.
Ставится командой
Документация и примеры кода на Github
Либа позволяет создать единичные таблицы, соединенные мульти-таблицы и секвентальные таблицы.
Пример кода:
from sdv.datasets.demo import download_demo
real_data, metadata = download_demo(
modality='single_table',
dataset_name='fake_hotel_guests')
В результате генерирует такую таблицу.
Ставится командой
pip install sdvДокументация и примеры кода на Github
MQL — переводит запрос, описанный обычными словами в код на SQL при помощи нейросетей.
То есть пишешь ему, например:
И он вам выдаёт
То есть пишешь ему, например:
все книги которые взяли студенты 2 курса за последнюю неделю
И он вам выдаёт
SELECT * FROM ... и тд.Colorama — библиотека, позволяющая работать с цветом вывода в консоль.
С её помощью можно выводить цветной текст, выставлять цвет фона, и даже смешивать эти режимы.
Colorama также может менять текст на жирный и на
Работает на всех операционках.
В том числе адекватно отображается в классической командной строке Windows.
Использовать очень просто.
Ставится командой
Документация и примеры кода здесь
С её помощью можно выводить цветной текст, выставлять цвет фона, и даже смешивать эти режимы.
Colorama также может менять текст на жирный и на
тусклый. Всё это показано на скрине выше.Работает на всех операционках.
В том числе адекватно отображается в классической командной строке Windows.
Использовать очень просто.
Ставится командой
pip install coloramaДокументация и примеры кода здесь