Ограничение итераций
Ограничивать количество итераций нужно для того, чтобы хранить все значения в памяти до их итерирования. Это будет занимать слишком много памяти в некоторых сценариях. Типичная ситуация — чтение строчек из файла.
🔗 Python tricks
Ограничивать количество итераций нужно для того, чтобы хранить все значения в памяти до их итерирования. Это будет занимать слишком много памяти в некоторых сценариях. Типичная ситуация — чтение строчек из файла.
🔗 Python tricks
Узнаем сколько всего опредленных букв в строке
Один из способов узнать количество определенных букв в строке максимально быстрым методом – использовать метод
Этот метод является достаточно быстрым, так как использует внутренние оптимизации CPython, которые работают на низком уровне. Он также не требует дополнительной памяти, за исключением простой переменной, используемой для хранения результата.
🔗 Python tricks
Один из способов узнать количество определенных букв в строке максимально быстрым методом – использовать метод
count
для строки. Этот метод принимает символ или подстроку и возвращает количество их вхождений в строку.Этот метод является достаточно быстрым, так как использует внутренние оптимизации CPython, которые работают на низком уровне. Он также не требует дополнительной памяти, за исключением простой переменной, используемой для хранения результата.
🔗 Python tricks
Итерируемые объекты
В Python итерируемый объект — это объект, над которым производятся так называемые проходы (итерации). Например, как в цикле
Большинство наборных структур данных являются итерируемыми объектами. Это списки, кортежи, наборы. Например, ниже мы создаём список и проходимся по его элементам по очереди.
🔗 Python tricks
В Python итерируемый объект — это объект, над которым производятся так называемые проходы (итерации). Например, как в цикле
for
.Большинство наборных структур данных являются итерируемыми объектами. Это списки, кортежи, наборы. Например, ниже мы создаём список и проходимся по его элементам по очереди.
🔗 Python tricks
Yield
Другой способ создать
Давайте посмотрим, как сработает эта функция на
🔗 Python tricks
Другой способ создать
generator
— использовать функцию генератора. Мы берём ключевое слово yield
, чтобы вернуть generator
в функции.Давайте посмотрим, как сработает эта функция на
fib
, где возвращается generator
с n числами Фибоначчи. 🔗 Python tricks
PySpark
PySpark — это Python API для Apache Spark. Он позволяет выполнять обработку больших данных в реальном времени в распределенной среде с помощью Python. Он также предоставляет оболочку PySpark для интерактивного анализа данных.
PySpark сочетает в себе удобство использования и простоту Python с мощностью Apache Spark, что позволяет обрабатывать и анализировать данные любого размера для всех, кто знаком с Python. PySpark поддерживает все функции Spark, такие как Spark SQL, DataFrames, Structured Streaming, Machine Learning (MLlib) и Spark Core.
Код с картинки создаст контекст Spark, прочитает набор данных из файла CSV с именем "data.csv" и выведет его в консоль.
🔗 Python tricks
PySpark — это Python API для Apache Spark. Он позволяет выполнять обработку больших данных в реальном времени в распределенной среде с помощью Python. Он также предоставляет оболочку PySpark для интерактивного анализа данных.
PySpark сочетает в себе удобство использования и простоту Python с мощностью Apache Spark, что позволяет обрабатывать и анализировать данные любого размера для всех, кто знаком с Python. PySpark поддерживает все функции Spark, такие как Spark SQL, DataFrames, Structured Streaming, Machine Learning (MLlib) и Spark Core.
Код с картинки создаст контекст Spark, прочитает набор данных из файла CSV с именем "data.csv" и выведет его в консоль.
🔗 Python tricks
Поток данных
С генератором мы создадим структуру данных с бесконечным количеством элементов. Этот вид последовательности элементов данных называется в информатике потоком данных (или “стрим”). С его помощью мы можем выражать концепции бесконечных последовательностей математическими методами.
🔗 Python tricks
С генератором мы создадим структуру данных с бесконечным количеством элементов. Этот вид последовательности элементов данных называется в информатике потоком данных (или “стрим”). С его помощью мы можем выражать концепции бесконечных последовательностей математическими методами.
🔗 Python tricks
Переводим mp3 в mov
Для перевода формата аудио из mp3 в mov вам понадобится использовать специализированные библиотеки для обработки аудио файлов в Python. Одной из таких библиотек является FFmpeg.
В этом примере мы используем функцию input() из библиотеки ffmpeg для указания входного файла, а затем функцию output() для указания выходного файла. Затем мы запускаем процесс конвертации с помощью функции run().
🔗 Python tricks
Для перевода формата аудио из mp3 в mov вам понадобится использовать специализированные библиотеки для обработки аудио файлов в Python. Одной из таких библиотек является FFmpeg.
В этом примере мы используем функцию input() из библиотеки ffmpeg для указания входного файла, а затем функцию output() для указания выходного файла. Затем мы запускаем процесс конвертации с помощью функции run().
🔗 Python tricks
Быстрая сортировка
Быстрая сортировка (quicksort) — это один из наиболее известных и широко применяемых алгоритмов сортировки. Она основана на использовании стратегии "разделяй и властвуй".
В этом коде мы выбираем элемент в середине списка в качестве "опорного". Затем мы создаем три списка: один для элементов меньше опорного, один для элементов равных опорному, и один для элементов больше опорного.
Мы рекурсивно применяем быструю сортировку к списку элементов, которые меньше и больше опорного элемента. Это продолжается до тех пор, пока не останется список, который нужно сортировать. В конце, мы объединяем отсортированные списки вместе.
🔗 Python tricks
Быстрая сортировка (quicksort) — это один из наиболее известных и широко применяемых алгоритмов сортировки. Она основана на использовании стратегии "разделяй и властвуй".
В этом коде мы выбираем элемент в середине списка в качестве "опорного". Затем мы создаем три списка: один для элементов меньше опорного, один для элементов равных опорному, и один для элементов больше опорного.
Мы рекурсивно применяем быструю сортировку к списку элементов, которые меньше и больше опорного элемента. Это продолжается до тех пор, пока не останется список, который нужно сортировать. В конце, мы объединяем отсортированные списки вместе.
🔗 Python tricks
string.isdecimal
isdecimal() возвращает true, если все символы в строке являются десятичными символами. Если хотя бы один символ не является десятичным, возвращается False. Верхний и нижний индексы считаются цифровыми символами, а не десятичными. Если строка содержит эти символы (обычно написанные с использованием Юникода), isdecimal() возвращает False.
🔗 Python tricks
isdecimal() возвращает true, если все символы в строке являются десятичными символами. Если хотя бы один символ не является десятичным, возвращается False. Верхний и нижний индексы считаются цифровыми символами, а не десятичными. Если строка содержит эти символы (обычно написанные с использованием Юникода), isdecimal() возвращает False.
🔗 Python tricks
Атрибут context
Атрибут context — это специальный атрибут исключений в Python, который содержит ссылку на исключение, которое было вызвано перед текущим исключением. Этот атрибут используется при множественном вызове исключений, чтобы предоставить контекст для текущего исключения.
В коде на картинке функция g вызывает исключение ValueError. Функция f перехватывает это исключение и вызывает собственное исключение Exception.
🔗 Python tricks
Атрибут context — это специальный атрибут исключений в Python, который содержит ссылку на исключение, которое было вызвано перед текущим исключением. Этот атрибут используется при множественном вызове исключений, чтобы предоставить контекст для текущего исключения.
В коде на картинке функция g вызывает исключение ValueError. Функция f перехватывает это исключение и вызывает собственное исключение Exception.
🔗 Python tricks
Декораторы в Python: Способ разделения задач
Идея декораторов Python состоит в том, чтобы позволить разработчику добавлять новые функциональные возможности к существующему объекту без изменения его исходной логики.
Мы можем сами определить декораторов. А также есть множество замечательных встроенных декораторов, готовых к использованию.
Например, статические методы в классе Python не привязаны к экземпляру или классу. Они включены в класс просто потому, что они логически принадлежат ему.
🔗 Python tricks
Идея декораторов Python состоит в том, чтобы позволить разработчику добавлять новые функциональные возможности к существующему объекту без изменения его исходной логики.
Мы можем сами определить декораторов. А также есть множество замечательных встроенных декораторов, готовых к использованию.
Например, статические методы в классе Python не привязаны к экземпляру или классу. Они включены в класс просто потому, что они логически принадлежат ему.
🔗 Python tricks
Размещение вашего скрипта на Python на Ubuntu-инстансе
Мой любимый метод закачки скрипта на Python на инстанс Ubuntu — это использовать Git.
Если есть конфигурационные файлы, которые нужны на вашем Ubuntu-инстансе, и вы не хотите хранить их на github, для переноса пользуйтесь Amazon S3.
🔗 Python tricks
Мой любимый метод закачки скрипта на Python на инстанс Ubuntu — это использовать Git.
Если есть конфигурационные файлы, которые нужны на вашем Ubuntu-инстансе, и вы не хотите хранить их на github, для переноса пользуйтесь Amazon S3.
🔗 Python tricks
Функция islice()
islice() — это функция из модуля itertools, которая используется для создания итератора, возвращающего выбранные элементы из итерируемого объекта. Она похожа на срезы списков, но имеет некоторые отличия.
🔗 Python tricks
islice() — это функция из модуля itertools, которая используется для создания итератора, возвращающего выбранные элементы из итерируемого объекта. Она похожа на срезы списков, но имеет некоторые отличия.
🔗 Python tricks
Установка Python3.7 и PIP
Для установки Python и PIP я бы рекомендовал пользоваться веб-SSH через дашборд Lightsail.
А в папке репозитория выполните следующую команду. Она запустит код, приведённый ниже и установит Python3.7 вместе с PIP.
🔗 Python tricks
Для установки Python и PIP я бы рекомендовал пользоваться веб-SSH через дашборд Lightsail.
А в папке репозитория выполните следующую команду. Она запустит код, приведённый ниже и установит Python3.7 вместе с PIP.
🔗 Python tricks
Вычисляем время выполнения
Этот пример полезен, когда вам нужно знать, сколько времени требуется для выполнения программы или функции.
🔗 Python tricks
Этот пример полезен, когда вам нужно знать, сколько времени требуется для выполнения программы или функции.
🔗 Python tricks
Списковое включение (быстрый способ)
Списковое включение — самый эффективный способ итерации любого списка. Это итерирование однострочного списка с включением в него цикла. Посмотрите приведенный ниже пример кода, чтобы понять, как это работает.
🔗 Python tricks
Списковое включение — самый эффективный способ итерации любого списка. Это итерирование однострочного списка с включением в него цикла. Посмотрите приведенный ниже пример кода, чтобы понять, как это работает.
🔗 Python tricks
Перебираем все возможные 8 значные пароли состоящие из букв и цифр с помощью Python
В этом примере используется модуль
Обратите внимание, что перебор всех возможных 8-значных паролей может занять большое количество времени, особенно если количество символов в
🔗 Python tricks
В этом примере используется модуль
itertools
, который позволяет генерировать все возможные комбинации символов из списка characters
длиной password_length
. Затем перебираются все комбинации и выводятся на экран.Обратите внимание, что перебор всех возможных 8-значных паролей может занять большое количество времени, особенно если количество символов в
characters
большое. Будьте осторожны и убедитесь, что ваше намерение соответствует законам и этическим правилам.🔗 Python tricks
Соединение списка и множества в словарь
Для соединения списка и множества в словарь можно использовать встроенную функцию
Для создания словаря из списков и множеств нужно сначала объединить элементы в кортежи при помощи функции
🔗 Python tricks
Для соединения списка и множества в словарь можно использовать встроенную функцию
zip()
. Эта функция объединяет элементы нескольких последовательностей (списков
, множеств
, кортежей
и т.д.) в кортежи.Для создания словаря из списков и множеств нужно сначала объединить элементы в кортежи при помощи функции
zip()
, а затем создать словарь из этих кортежей при помощи функции dict()
.fruit_prices
будет содержать словарь {'apple': 1.20, 'banana': 0.80, 'orange': 1.50}
.🔗 Python tricks
Удаляем файл из папки на компьютере
Для удаления файла из папки на ПК в Python можно использовать модуль os.
Здесь сначала мы импортируем модуль os. Затем указываем полный путь к удаляемому файлу в переменной
Если файл существует, мы удаляем его с помощью функции
🔗 Python tricks
Для удаления файла из папки на ПК в Python можно использовать модуль os.
Здесь сначала мы импортируем модуль os. Затем указываем полный путь к удаляемому файлу в переменной
file_path
. С помощью функции os.path.exists()
проверяем, существует ли файл по указанному пути. Если файл существует, мы удаляем его с помощью функции
os.remove()
. В противном случае выводим информацию, что такой файл не найден.🔗 Python tricks
Cравнение 2 аудиосообщений
Для сравнения двух аудиосообщений в Python нужно использовать библиотеку для анализа звука, например, librosa или PyAudio.
Здесь мы загружаем два файла и вычисляем их характеристики MFCC (Mel Frequency Cepstral Coefficients), которые представляют собой набор коэффициентов, описывающих звуковое пространство. Затем мы вычисляем расстояние между характеристиками с помощью функции dtln из librosa.core. Результат будет выведен в консоль.
Обратите внимание, что для сравнения аудиосообщений нужно, чтобы они имели одинаковую продолжительность и были записаны в одинаковых условиях (например, громкость, обработка шума).
🔗 Python tricks
Для сравнения двух аудиосообщений в Python нужно использовать библиотеку для анализа звука, например, librosa или PyAudio.
Здесь мы загружаем два файла и вычисляем их характеристики MFCC (Mel Frequency Cepstral Coefficients), которые представляют собой набор коэффициентов, описывающих звуковое пространство. Затем мы вычисляем расстояние между характеристиками с помощью функции dtln из librosa.core. Результат будет выведен в консоль.
Обратите внимание, что для сравнения аудиосообщений нужно, чтобы они имели одинаковую продолжительность и были записаны в одинаковых условиях (например, громкость, обработка шума).
🔗 Python tricks