Python tricks | Хитрости Питона
5.67K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

Сотрудничество: @SIeep_Token

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Списковое включение (быстрый способ)

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

🔗 Python tricks
Перебираем все возможные 8 значные пароли состоящие из букв и цифр с помощью Python

В этом примере используется модуль itertools, который позволяет генерировать все возможные комбинации символов из списка characters длиной password_length. Затем перебираются все комбинации и выводятся на экран.

Обратите внимание, что перебор всех возможных 8-значных паролей может занять большое количество времени, особенно если количество символов в characters большое. Будьте осторожны и убедитесь, что ваше намерение соответствует законам и этическим правилам.

🔗 Python tricks
Соединение списка и множества в словарь

Для соединения списка и множества в словарь можно использовать встроенную функцию zip(). Эта функция объединяет элементы нескольких последовательностей (списков, множеств, кортежей и т.д.) в кортежи.

Для создания словаря из списков и множеств нужно сначала объединить элементы в кортежи при помощи функции zip(), а затем создать словарь из этих кортежей при помощи функции dict().

fruit_prices будет содержать словарь {'apple': 1.20, 'banana': 0.80, 'orange': 1.50}.

🔗 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 tricks
string.rindex

Метод rindex() аналогичен методу rfind() для строк. Если внутри строки существует подстрока, возвращается наибольший индекс в строке, в которой найдена подстрока. Если подстрока не существует внутри строки, возникает исключение ValueError.

🔗 Python tricks
Извлекаем имя из адреса электронной почты

Для извлечения имени из адреса электронной почты до символа ‘@‘ можно использовать регулярные выражения.

Это регулярное выражение начинает поиск с начала строки с помощью символа "^" и находит любую комбинацию строчных букв, цифр, дефисов, подчеркиваний, точек и знака минуса. Затем выражение находит символ "@" и останавливается.

🔗 Python tricks
Matplotlib: Круговые диаграммы

Чтобы добавить список пояснений для каждого сегмента, используй функцию legend().

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]

plt.pie(y, labels = mylabels)
plt.legend()
plt.show()


Чтобы добавить заголовок к легенде, добавь параметр title в функцию legend.

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]

plt.pie(y, labels = mylabels)
plt.legend(title = "Four Fruits:")
plt.show()


На картинке продемонстрирована легенда с заголовком и списком пояснений.

🔗 Python tricks
Установка библиотек Python

Следующим шагом установите питоновские библиотеки praw и pandas. Запустите серийный файл python_libraries.sh.

Praw — это враппер для API Python reddit.

Pandas — для манипуляций с данными и их анализа.

🔗 Python tricks
Погрузитесь в мир Python с нашим бесплатным курсом!

🎓 Включено 45 уроков, 56 упражнений в тренажере и 163 проверочных теста. Узнаете, как создавать программы, работать с условиями и функциями.

Что вы освоите:
— Составление программ из нескольких модулей.
— Анализ ошибок в коде с использованием отладочной печати.

📚 Курс охватывает основы Python: синтаксис, условия, циклы, типы данных и библиотеки. Практика на каждом шаге поможет вам уверенно использовать язык.

Начните свое обучение с бесплатного базового курса Python и вы сможете создавать несложные программы, а так же анализировать ошибки в коде!
Списковое включение: Создайте список в одной строке кода

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

Со списковым включением мы можем поместить циклы for и условия if в одну строку кода для создания списка на Python:

🔗 Python tricks
Настройка службы Cron

Программная утилита Cron — это планировщик времени запуска служб в компьютерных ОС наподобие Unix. Пользователи, которые занимаются установкой и поддержкой программных окружений, пользуются Cron для планирования служб (команд или скриптов оболочки). Они запускают их периодически в определённое время, дни или другие интервалы. Это типичная автоматизация системной поддержки или администрирования, тем не менее природа общего назначения этого ПО делает его полезным для таких вещей, как скачивание файлов из интернета и загрузка почты через равные интервалы.

🔗 Python tricks
Создание задания Cron

Настройте редактор на значение vim при помощи такой команды. Войдите в Vim и отредактируйте службы Cron. В этой точке Vim запустится, а вы сможете вносить изменения в свои службы Cron.
🔗 Python tricks
dict.fromkeys

Метод fromkeys() создает словарь из заданной последовательности ключей и значений. Параметр alphabets – это ключи, которые могут быть любыми итерируемыми объектами, такими как строка, набор, список и т. д. Необязательный параметр numbers — это значения, которые могут быть любого типа или любых итераций, таких как строка, набор, список и т. д.

🔗 Python tricks
Автоматизация скриптов на Python при помощи AWS Lightsail

Теперь вы закончили и ваш скрипт будет запускаться с интервалом, определённым в службе Cron. 

Если хотите проверить их, можете запустить командный crontab -l. Так вы увидите текущие службы Cron.

🔗 Python tricks
5 ошибок Python-разработчиков, которые выдают новичка. Давайте понятные имена функции и переменным

Бывает обратная ситуация, когда название становится слишком длинным, чтобы вынести всю логику. Например, произвольная функция может быть существенно упрощена несколькими способами.

🔗 Python tricks
Ищем опечатки

Пакет spellchecker позволяет отыскать ошибки в тексте, а также может предложить варианты исправлений. В примере проходимся по списку из двух слов, из которых одно ('therre') написано с опечаткой. Функция correction замечает это и предлагает одно самое вероятное исправление, а candidates — несколько.

Пакет поддерживает шесть языков.

Документацию можно найти здесь.

🔗 Python tricks
5 ошибок Python-разработчиков, которые выдают новичка. Неряшливость в коде

Это не только код по PEP, сколько отсутствие видимой логики и структуры в коде.

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

🔗 Python tricks
Как преобразовать Word, Excel и PowerPoint в PDF в Python. Установите необходимые зависимости

Это решение опирается на Spire.Office for Python, который представляет собой комбинацию Spire.Doc for Python, Spire.XLS for Python, Spire.Presentation for Python и Spire.PDF for Python.

Как следует из названия, они представляют собой модули для обработки документов Word, Excel, PowerPoint и PDF соответственно.

🔗 Python tricks
Узнаем сколько свободной памяти на компьютере

Для того, чтобы узнать сколько свободной памяти доступно на компьютере с помощью Python можно использовать модуль psutil.

Метод virtual_memory() возвращает объект с информацией о памяти системы. Свойство available объекта содержит количество свободной памяти в байтах.

🔗 Python tricks