Справочник Программиста
6.31K subscribers
1.33K photos
385 videos
64 files
1.68K links
По рекламе - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Предложить идею: @it_start_suggestion_bot
Download Telegram
Функция для масштабирования байтов

Данный код определяет функцию с названием get_size_format(), которая масштабирует заданное количество байтов в соответствующий формат размера файла.

Функция принимает три параметра: b (количество байтов), factor (множитель масштабирования, по умолчанию равен 1024) и suffix (суффикс, добавляемый к отформатированному значению, по умолчанию равен "B").

def get_size_format(b, factor=1024, suffix="B"):
for unit in ["", "K", "M", "G", "T", "P", "E", "Z"]:
if b < factor:
# Возвращаем отформатированную строку с размером и единицей измерения
return f"{b:.2f}{unit}{suffix}"
b /= factor
# Возвращаем отформатированную строку с размером и единицей измерения
return f"{b:.2f}Y{suffix}"


print(get_size_format(1024)) # Вывод: 1.00KB
print(get_size_format(1048576)) # Вывод: 1.00MB
print(get_size_format(1099511627776)) # Вывод: 1.00TB
❤‍🔥5👍2🔥2
Рекламный бот яндекса совсем с ума сошёл, то нет рекламы, то по 2 подряд выкладывает 🚬
Please open Telegram to view this post
VIEW IN TELEGRAM
😁53
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека manim в Python 🎇

Библиотека manim предоставляет возможность создавать высококачественные видео-анимации, способные иллюстрировать сложные математические концепции.

Подробнее с данной библиотекой можно ознакомиться в документации.

Пример кода:
from manim import *


class MovingFrameBox(Scene):
def construct(self):
text=MathTex(
"\\frac{d}{dx}f(x)g(x)=","f(x)\\frac{d}{dx}g(x)","+",
"g(x)\\frac{d}{dx}f(x)"
)
self.play(Write(text))
framebox1 = SurroundingRectangle(text[1], buff = .1)
framebox2 = SurroundingRectangle(text[3], buff = .1)
self.play(
Create(framebox1),
)
self.wait()
self.play(
ReplacementTransform(framebox1,framebox2),
)
self.wait()


MovingFrameBox().render()


Результат выполнения кода можно увидеть на гифке.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥11👍8🔥5
Функция psutil.sensors_battery() в Python 💻

Функция sensors_battery() из библиотеки psutil используется для получения информации о состоянии батареи на ноутбуке.

Она возвращает именованный кортеж, содержащий следующие значения:
🔵percent: процент заряда батареи.
🔵secsleft: приблизительное количество секунд, оставшихся до полного разряда батареи.
🔵power_plugged: указывает, подключено ли устройство к источнику питания (True - подключен, False - не подключен).

➡️Установка библиотеки psutil: pip install psutil
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7👍3🔥31
Модуль Faker в Python 💻

Модуль Faker позволяет генерировать случайные данные.

➡️Установка библиотеки Faker: pip install Faker

Основные возможности модуля Faker:
🔵Генерация случайных имен, адресов, адресов электронной почты, текстов.
🔵Генерация данных, специфичных для различных стран, таких как имена, адреса и телефонные номера.
🔵Генерация случайных данных на основе пользовательских правил.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥10👍5🔥2
Библиотека voluptuous в Python ☝️

Библиотека voluptuous предназначена в основном для валидации данных, поступающих в Python в формате JSON, YAML и т. д.

Она позволяет определять схемы валидации данных в виде простых вложенных структур данных, состоящих из словарей, списков и скалярных значений. Каждый узел входной схемы сопоставляется с соответствующими узлами входных данных.

➡️Установка библиотеки voluptuous: pip install voluptuous

Особенности библиотеки:
🔵Простота использования.
🔵Поддержка сложных структур данных.
🔵Предоставление полезных сообщений об ошибках.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤‍🔥2🔥2
Метод psutil.cpu_times() в Python 🖥

Метод cpu_times() из библиотеки psutil возвращает время работы системного процессора в виде именованного кортежа. Каждый атрибут представляет секунды, потраченные процессором в данном режиме.

Доступность атрибутов варьируется в зависимости от платформы:
🔵user: время, проведенное процессором в пользовательском режиме. В Linux оно также включает гостевое время;
🔵system: время, проведенное процессором в системном режиме;
🔵idle: время, проведенное процессором в простое (когда процессор ничего не делает).

Поля, специфичные для конкретной платформы:
🔵nice (UNIX): время, затрачиваемое процессами с приоритетом niced, выполняющимися в пользовательском режиме. В Linux это также включает время guest_nice;
🔵iowait (Linux): время, потраченное на ожидание завершения ввода-вывода. Это время не учитывается в счетчике времени простоя;
🔵irq (Linux, BSD): время, затрачиваемое на обслуживание аппаратных прерываний;
🔵softirq (Linux): время, затрачиваемое на обслуживание программных прерываний;
🔵steal (Linux 2.6.11+): время, затрачиваемое другими операционными системами, работающими в виртуализированной среде;
🔵guest (Linux 2.6.24+): время, затрачиваемое на запуск виртуального процессора для гостевых операционных систем под управлением ядра Linux;
🔵guest_nice (Linux 3.2.0+): время, затраченное на запуск niced guest (виртуальный процессор для гостевых операционных систем под управлением ядра Linux);
🔵interrupt (Windows): время, затрачиваемое на обслуживание аппаратных прерываний (аналогично “irq” в UNIX);
🔵dpc (Windows): время, затрачиваемое на обслуживание вызовов отложенных процедур (DPC). DPC - это прерывания, которые выполняются с более низким приоритетом, чем стандартные прерывания.

➡️Установка библиотеки psutil: pip install psutil
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7👍4🔥3
Код для добавления текста на изображение 🖼

Для добавления текста на изображение в коде используется метод text() из библиотеки Pillow.

Он принимает следующие аргументы:
🔵xy (обязательный) - координаты верхнего левого угла текста на изображении;
🔵text (обязательный) - сам текст, который нужно добавить на изображение;
🔵fill (необязательный) - цвет текста. Может быть задан в виде строки с названием цвета или в виде кортежа с RGB-значениями;
🔵font (необязательный) - шрифт текста. Может быть задан в виде объекта ImageFont или в виде строки с путем к файлу шрифта;
🔵anchor (необязательный) - якорная точка текста. Может принимать значения, такие как 'left', 'center' или 'right';
🔵spacing (необязательный) - расстояние между строками текста;
🔵align (необязательный) - выравнивание текста по горизонтали. Может принимать значения, такие как 'left', 'center' или 'right';
🔵direction (необязательный) - направление текста. Может принимать значения, такие как 'ltr' (слева направо) или 'rtl' (справа налево);
🔵features (необязательный) - дополнительные особенности текста, такие как 'kern' (кернинг) или 'liga' (лигатуры).

➡️Установка библиотеки: pip install Pillow

from PIL import Image, ImageDraw, ImageFont

# Открыть изображение
img = Image.open('image.jpg')

# Создать объект ImageDraw
d = ImageDraw.Draw(img)

# Указать шрифт и размер
font = ImageFont.truetype("arial.ttf", 15)

# Добавить текст
d.text((50, 50), "Привет, мир!", font=font, fill=(255,255,255))

# Сохранить измененное изображение
img.save('text_added_image.jpg')
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤‍🔥6🔥2
Функции math.degrees() и math.radians() в Python 👀

➡️Функция degrees() из модуля math используется для преобразования угла из радиан в градусы. Она принимает один аргумент - угол в радианах, и возвращает значение угла в градусах.

➡️Функция radians() из модуля math используется для преобразования угла из градусов в радианы. Она также принимает один аргумент - угол в градусах, и возвращает значение угла в радианах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤‍🔥31
Метод psutil.cpu_freq() в Python 🖥

Метод cpu_freq() из библиотеки psutil используется для получения информации о частоте процессора. Возвращает текущую частоту процессора в герцах.

Он не принимает никаких параметров и возвращает объект с атрибутами current, min и max, которые представляют текущую, минимальную и максимальную частоту процессора соответственно.

➡️Установка библиотеки psutil: pip install psutil
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥3❤‍🔥2
Модуль doctest в Python

Модуль doctest позволяет проверять примеры кода, включенные в документацию в виде интерактивных сессий Python. Он выполняет эти сессии и проверяет, что результаты соответствуют ожидаемым.

Существует несколько распространенных способов использования doctest:
🔵Проверка актуальности строк документации модуля путём проверки того, что все интерактивные примеры по-прежнему работают в соответствии с документацией.
🔵Чтобы выполнить регрессионное тестирование, убедившись, что интерактивные примеры из тестового файла или тестового объекта работают должным образом.
🔵Написать учебную документацию для пакета, обильно иллюстрированную примерами ввода-вывода. В зависимости от того, выделены ли примеры или пояснительный текст, это может быть что-то вроде «грамотного тестирования» или «исполняемой документации».

Примеры должны начинаться с ключевого слова >>> и заканчиваться ожидаемым результатом.

В примере на изображении производится проверка вызова функции factorial() и сравнение результатов с документацией.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4❤‍🔥1😁1
Код для парсинга изображений из Google Images на Python 📂

Для парсинга изображений из Google Images в коде мы используем библиотеку icrawler.

➡️Установка библиотеки icrawler: pip install icrawler

from icrawler.builtin import GoogleImageCrawler

# Запрос пользователя для парсинга изображений
request = input('По какому запросу парсить изображения?\n')

# Количество изображений, которые нужно спарсить
quantity = int(input('Сколько нужно спарсить изображений?\n'))

# Путь для сохранения изображений
path = input('Куда сохранить изображения?\n')

# Создание экземпляра GoogleImageCrawler с указанием пути сохранения
google_crawler = GoogleImageCrawler(storage={'root_dir': path})

# Запуск парсинга изображений с указанными параметрами
google_crawler.crawl(keyword=request, max_num=quantity)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥12👍9🔥5
Метод str.startswith() в Python 🟪

Метод str.startswith() используется для проверки, начинается ли строка с определенного префикса. Возвращает значение True, если строка начинается с указанного префикса, и False в противном случае.

Синтаксис:
str.startswith(prefix[, start[, end]]) -> bool

Где:
🔵prefix (обязательный аргумент) - префикс, с которого нужно проверить начало строки;
🔵start (необязательный аргумент) - индекс, с которого начинается проверка. По умолчанию равен 0;
🔵end (необязательный аргумент) - индекс, на котором заканчивается проверка. По умолчанию равен длине строки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤‍🔥2🔥2
Инструкция raise в Python 🔴

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

Она позволяет:
🔵Принудительно вызвать одно исключение в любое время и в любом месте кода;
🔵Повторно вызвать исключение, которое было перехвачено try/except, чтобы его можно было обработать дальше по стеку вызовов;
🔵Создавать исключения, когда выполнение программы бессмысленно или не может продолжаться (например при вводе данных с клавиатуры).
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6👍4🔥2
Код для преобразования видео в GIF на Python 📼➡️🌠

Для преобразования видео в GIF в коде используется метод write_gif() из библиотеки moviepy.

Установка библиотеки: pip install moviepy

from moviepy.editor import VideoFileClip


def convert_video_to_gif(video_path, gif_path):
# Создание объекта VideoFileClip из пути к видео
video = VideoFileClip(video_path)
# Запись файла GIF из объекта VideoFileClip
video.write_gif(gif_path, fps=60)


# Вызов функции convert_video_to_gif с путями к входному и выходному файлам
convert_video_to_gif("video.mp4", "output.gif")
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥15👍5🔥3