Python tricks | Хитрости Питона
Ir al canal en Telegram
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты. Сотрудничество: @SIeep_Token Мы на платформе: https://telegram.me/python_tricks Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Mostrar más6 053
Suscriptores
Sin datos24 horas
-117 días
-5930 días
Archivo de publicaciones
Итерируемые объекты
В Python итерируемый объект — это объект, над которым производятся так называемые проходы (итерации). Например, как в цикле
for.
Большинство наборных структур данных являются итерируемыми объектами. Это списки, кортежи, наборы. Например, ниже мы создаём список и проходимся по его элементам по очереди.
🔗 Python tricksУзнаем сколько всего опредленных букв в строке
Один из способов узнать количество определенных букв в строке максимально быстрым методом – использовать метод
count для строки. Этот метод принимает символ или подстроку и возвращает количество их вхождений в строку.
Этот метод является достаточно быстрым, так как использует внутренние оптимизации CPython, которые работают на низком уровне. Он также не требует дополнительной памяти, за исключением простой переменной, используемой для хранения результата.
🔗 Python tricksОграничение итераций
Ограничивать количество итераций нужно для того, чтобы хранить все значения в памяти до их итерирования. Это будет занимать слишком много памяти в некоторых сценариях. Типичная ситуация — чтение строчек из файла.
🔗 Python tricks
Генератор
generator — тоже итератор, но его ключевое свойство — ленивые вычисления. Это классическая концепция в информатике, и её переняли многие языки программирования, такие как Haskell. Основная идея этой концепции звучит как вызов-по-необходимости. Отложенные вычисления могут приводить к снижению доступной процессу памяти.
Генератор — это итератор, который работает в режиме обработки по необходимости. Мы не будем производить вычисления и сохранять значения сразу, а сделаем их “на лету”, когда будут выполняться итерации.
🔗 Python tricksMatplotlib: Круговые диаграммы
С помощью параметра explode ты можешь задать, насколько далеко от центра отображается каждый сегмент.
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]
plt.pie(y, labels = mylabels, explode = myexplode)
plt.show()
Для добавления теней используй параметр shadows, придав ему значение True.
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]
plt.pie(y, labels = mylabels, explode = myexplode, shadow = True)
plt.show()
Для изменения цвета тебе пригодится параметр colors. Это массив с одним значением для каждого сегмента.
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
mycolors = ["black", "hotpink", "b", "#4CAF50"]
plt.pie(y, labels = mylabels, colors = mycolors)
plt.show()
🔗 Python tricksПодробная информация об объекте
%pinfo предоставляет подробную информацию об объекте, который передается вместе с ним. Она похожа на функцию object?.
🔗 Python tricks
Выражения присваивания (Assignment expressions)
Python 3.8
Так же известные как «моржовый оператор» (walrus operator) — новый синтаксис, который позволит присваивать значения переменным внутри другого выражения. Это, наверное, самое известное и обсуждаемое из нововведений версии 3.8.
Целью введения оператора является повышение читаемости кода, поэтому использовать его (как и все остальные операторы) стоит не при первой же возможности, а только тогда, когда это уместно.
🔗 Python tricks
Печать в одной строке
Мы знаем, что функция print выполняет вывод в каждой строке, и если использовать две функции print, они выполнят печать в две строки. Этот пример покажет, как выполнять вывод в той же строке без перехода на новую.
🔗 Python tricks
Хотя бы тут будет шанс... получить Айфон
Куб маркетинга запускает розыгрыш призов — три победителя получат:
1.Apple IPhone 15 Pro
2.Apple Airpods Max
3.Apple Watch Series 9.
Для участия необходимо быть подписанным на @cubemark, а после нажать на кнопку "Участвовать"
Трое победителей станут известны 21 февраля, в 20:00, их выберет случайным образом бот Рандомайзер.
Приз отправим в любую точку, где доступна доставка СДЭК.
⚠️ Если кнопка подвисла — вас все равно зарегистрирует, просто выполните условия и нажмите «Участвовать».
Отображение графиков Matplotlib
%matplotlib inline — это самая популярная магическая команда. Она позволяет отображать в блокнотах графики Matplotlib. Эта команда активирует интерактивную поддержку Matplotlib для блокнота Jupyter.
🔗 Python tricks
Matplotlib: Круговые диаграммы
Ты можешь использовать функцию pie() для рисования круговых диаграмм.
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35, 25, 25, 15])
plt.pie(y)
plt.show()
По умолчанию построение первого сектора начинается с оси X и движется против часовой стрелки. Для изменения начального угла нужно указать параметр startangle. Данный параметр определяется углом в градусах, угол по умолчанию равен 0.
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, startangle = 90)
plt.show()
Также ты можешь добавить метки на круговую диаграмму с помощью параметра labels. Параметр labels должен быть массивом с одной меткой для каждого сегмента.
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.show()
🔗 Python tricksВыполнение html-скрипта
%% html позволяет нам писать html-код в ячейке. Теперь ячейка будет действовать как html-редактор с html-выводом ячейки.
Следующий код состоит из простой таблицы, созданной в формате html. Заметьте, что html-вывод отображает ожидаемую таблицу.
🔗 Python tricks
Преобразование разделённого запятыми списка в строку
Этот код преобразует разделённый запятыми список в единую строку. Его удобно использовать, когда нужно объединить весь список со строкой.
🔗 Python tricks
Список всех переменных
Эта магическая команда выдает список всех глобальных переменных, используемых в вашем блокноте.
Для того чтобы получить переменные определенного типа, мы должны указать этот тип после магической команды. Приведенный выше код отображает все переменные строкового типа в качестве выходных данных.
🔗 Python tricks
Используйте многоточие в качестве заполнителя для ненаписанного кода
В Python мы обычно помещаем ключевое слово pass в качестве заполнителя для ненаписанного кода. Но мы также можем использовать многоточие для этой цели.
🔗 Python tricks
Логирование в Python с помощью Logzero. Установка пользовательского форматирования
Лог-запись можно отформатировать на свое усмотрение. Есть несколько способов: вы можете включить дату, время и уровень логирования в свой формат, чтобы знать, когда и на каком уровне был отправлен лог.
🔗 Python tricks
Логирование в Python с помощью Logzero. Экземпляры пользовательских логгеров
Вместо использования логгера по умолчанию, можно настроить экземпляры логгера с помощью logzero.setup_logger(..). Он возвращает полностью настроенный экземпляр логгера с различными параметрами, такими как имя, имя лог-файла, форматирование, maxBytes, backupCount и уровень логирования.
🔗 Python tricks
Печать строки N раз
Этот пример может печатать любую строку n раз без использования циклов Python.
🔗 Python tricks
Первая буква в верхнем регистре
Этот пример используется для превращения каждой первой буквы символов строки в прописную букву. Он работает со строкой из одного или нескольких символов и будет полезен при анализе текста или записи данных в файл и т.п.
🔗 Python tricks
Число в список цифр
Превращает целое число в список его цифр.
Функция map() принимает желаемый тип выходных данных (в нашем случае это int, целые числа) и итерируемый объект (строку, список или кортеж), элементы которого можно превратить в элементы этого типа. После этого другая функция list() преобразует результат в список.
🔗 Python tricks
