Ghostly Python
9.01K subscribers
535 photos
24 videos
599 links
Погружаемся в мир Python: задачи, фишки, библиотеки и террабайты полезного материала.

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

Цены: @heywan_media

Реклама на бирже: https://telega.in/c/+IOa15XDNbxRkYzNi
Download Telegram
🎄 С Новым Годом, дорогие друзья!

Вот и подошёл к концу ещё один год, полный открытий, новых знаний и интересных вызовов. Спасибо, что были с нами !

Пусть в новом году ваш код будет чистым, баги — редкими, а деплои — успешными! Желаю каждому достичь новых вершин в 2025 году.

Впереди нас ждет еще много всего интересного! Уже есть грандиозные планы по развитию канала и уверен, вам понравится. Оставайтесь с нами, приглашайте друзей и вместе мы сделаем крутое сообщество, которое будет нести пользу каждому!

С Праздником, дорогие подписчики!


🐍 Ghostly Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉11👍53🔥2
📱 Pex (Python EXecutable) — это утилита, которая позволяет создавать исполняемые файлы с полным набором зависимостей. Такой файл можно запустить где угодно, где есть интерпретатор Python.

⚙️ Как это работает?

Pex собирает ваше приложение и его зависимости в архив .pex, который можно запустить как обычный исполняемый файл.

➡️ 1. Установите Pex:

pip install pex


➡️ 2. Упакуйте приложение:

pex requests -o my_app.pex -m requests.cli:main


Здесь мы создаём файл my_app.pex с модулем requests.

➡️ 3. Запустите файл:

python my_app.pex


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

📱 Ссылка на GitHub

🐍 Ghostly Python | #инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14😱2
Что есть, то есть... 😭

🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21😁9
🐍 Фишка: Использование set для удаления дубликатов в списке

Если вам нужно удалить дубликаты из списка, Python предоставляет быстрый и удобный способ — использование множества set.

⚙️ Пример

numbers = [1, 2, 2, 3, 4, 4, 5]
unique_numbers = list(set(numbers))
print(unique_numbers)
# Вывод: [1, 2, 3, 4, 5]


Множество хранит только уникальные значения, и преобразование списка в set автоматически удаляет повторяющиеся элементы.

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥21
🖼️ Библиотека: Pydub

Pydub — это библиотека для работы с аудиофайлами в Python. Она позволяет обрабатывать аудио: обрезать, объединять, изменять громкость и формат файлов.

Подходит для разработчиков, которым нужно быстро и просто манипулировать аудиофайлами без использования сложных библиотек, таких как FFmpeg.

⚙️ Пример использования

from pydub import AudioSegment

# Загрузка аудиофайла
audio = AudioSegment.from_file("example.mp3")

# Обрезка аудио с 30-й по 60-ю секунду
audio_cut = audio[30000:60000]

# Изменение громкости на -5 дБ
quieter_audio = audio_cut - 5

# Экспорт измененного аудиофайла
quieter_audio.export("output.mp3", format="mp3")


✔️ Установка

pip install pydub


🐱 Ссылка на документацию

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥32
🎮 Создаём головоломку на Python с помощью Pygame

В статье рассказывается, как шаг за шагом создать простую, но увлекательную головоломку под названием Amazing Frogs.

📌 Что вы узнаете:

— Как работать с Pygame для создания игрового поля.
— Использование тайлов и анимаций для персонажей.
— Логика управления игроком и взаимодействия объектов.
— Добавление звуков, анимаций и других игровых эффектов.

🖥 Перейти к статье

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥2
📱 Делаем код чище с помощью Vulture

Vulture — это удобный инструмент, который помогает находить неиспользуемые переменные, функции, классы и модули в вашем коде. Удаление такого «мёртвого кода» делает проект чище, быстрее и проще в поддержке.

💡 Основные возможности

— Анализирует ваш код и выводит список неиспользуемых объектов.
— Помогает уменьшить объём кода, удалив ненужные фрагменты.
— Простая интеграция в процессы CI/CD.

⚙️ Как использовать

1. Установка

pip install vulture


2. Запустите анализ вашего проекта

vulture path/to/your/project


3. Получите список мёртвого кода и очистите его.


📱 Ссылка на GitHub

🐍 Ghostly Python | #инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥41
Media is too big
VIEW IN TELEGRAM
🐍 Асинхронность, многопоточность, многопроцессность в python

В видео рассмотрим асинхронное программирование, и виды многозадачности при проектировании приложения - процессы, потоки и асинхронный код. Рассмотрим библиотеку asyncio и как на python писать асинхронный код.

📱 Ссылка на первоисточник

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3
📱 Фишка: Словари с несколькими значениями для одного ключа с помощью defaultdict

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

Однако, в подобных ситуациях, мы можем использовать defaultdict из модуля collections.

⚙️ Пример использования

from collections import defaultdict

my_dict = defaultdict(list)
my_dict["a"].append(1)
my_dict["a"].append(2)
my_dict["b"].append(3)

print(my_dict)


➡️ В этом примере:

— Каждый ключ по умолчанию связан с пустым списком.
— Если ключ "a" уже существует, добавляем значение в список.
— Если ключа "a" нет, он создается с пустым списком, и добавляется значение.

Удобно для работы с группами данных, подсчетами и многими другими задачами.

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
🎮 CodeDex: Изучаем Python играя

CodeDex — это интерактивная платформа, которая позволяет изучать Python через практику и увлекательные задачи.

📌 Что вас ждет?

Интерактивные уроки: учите Python шаг за шагом, выполняя задания прямо в браузере.

Практика на реальных задачах: от простых основ до сложных алгоритмов.

Геймификация обучения: очки, уровни и достижения делают процесс увлекательным.

Раздел для опытных пользователей: сложные темы, такие как работа с API, асинхронность и обработка данных.

⛓️ Ссылка на платформу

Кстати, вот еще репозиторий с готовым кодом решений задач: GitHub 📱


🐍 Ghostly Python | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63
👩‍💻 Модуль copy в Python

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

Из документации по Python 3

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


➡️ Поверхностное копирование

Поверхностное копирование строит новый составной объект, а затем вставляет в него ссылки на объекты имеющиеся в оригинале.

>>> import copy
>>> a = [[1],[2],[3]]
>>> b = copy.copy(a) # поверхностно копируем список a в список b

>>> a
#[[1], [2], [3]]
>>> b
#[[1], [2], [3]]


➡️ Глубокое копирование

При глубоком копировании создается новый составной объект, а затем в него рекурсивно вставляются копии объектов, содержащихся в оригинале.


>>> import copy
>>> a = [[1],[2],[3]]
>>> b = copy.deepcopy(a) # создаем глубокую копию списка a

>>> a[0][0] = 0
>>> a[1] = None

>>> a
#[[0], None, [3]]
>>> b
#[[1], [2], [3]]


📌 Вывод

🟢 Поверхностное копирование создает новый объект, который содержит ссылки на те же элементы, что и оригинал.

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

Кстати, пишите в комменты ваши пожелания по контенту 🔥
P.S. На днях уже залью обещанный гайд =)


🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
⚙️ Уроки по NumPy

Что из себя представляет пакет NumPy для языка Python. Как он устанавливается и импортируется в программы. Первое знакомство с массивами array. Способ их задания с помощью функции array и демонстрация некоторых возможностей.

➡️ Ссылка на курс

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥3
💡 1000+ идей для проектов

Это огромная коллекция идей для проектов, которые можно реализовать на разных языках программирования, включая Python.

📌 Что внутри?

Проекты для новичков: калькуляторы, конвертеры и простые игры.
Идеи для продвинутых: чат-боты, системы управления, веб-приложения.
Креативные задачи: генераторы паролей, парсеры данных, API для фильмов.
Темы на любой вкус: от искусственного интеллекта до мобильных приложений.

📱 Ссылка на репозиторий

🐍 Ghostly Python | #идеи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
👁 Скрипт: Удаление дубликатов файлов в заданной директории

Есть много способов избавиться от дубликатов файлов в папке, но этот скрипт будет искать и удалять такие файлы, опираясь на их хеш-сумму. Это гарантирует, что будут удаляться только точные копии.

⚙️ Как это работает:

1. Мы вычисляем хеш каждого файла с помощью библиотеки hashlib.
2. Если файл с таким хешом уже встречался в директории, значит, это дубликат, и его можно безопасно удалить.
3. Скрипт выводит список удаленных файлов, или сообщение о том, что дубликатов не найдено.

📂 Скрипт с подробным комментированием кода уже в архиве:


➡️ Скачать...

🐍 Ghostly Python | #скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🔍 Фишка: Быстрая проверка подстроки с помощью оператора in

Вместо использования громоздких методов поиска, таких как .find(), Python позволяет лаконично проверить наличие подстроки с помощью оператора in.

⚙️ Пример:

text = "Python — отличный язык!"
if "отличный" in text:
print("Нашли слово!") # Вывод: Нашли слово!


Оператор in работает не только со строками, но и с другими коллекциями (списки, множества, словари).

🔜 Пример с коллекциями:

items = [1, 2, 3]
print(2 in items) # Вывод: True


🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆11👍9🔥2
🖼️ Библиотека: Humanize

Humanize — это библиотека для преобразования чисел, дат и других данных в удобочитаемый формат. Она позволяет выводить информацию в виде, понятном пользователю, например, "2 часа назад" или "5.4K".

⚙️ Пример использования

import humanize
from datetime import datetime, timedelta

# Преобразование чисел
print(humanize.intword(1234567)) # "1.2 million"
print(humanize.intcomma(1234567)) # "1,234,567"

# Форматирование времени
now = datetime.now()
past = now - timedelta(hours=5)
print(humanize.naturaltime(past)) # "5 часов назад"

# Размеры файлов
print(humanize.naturalsize(1024000)) # "1.0 MB"


Humanize делает ваш код более ориентированным на пользователя и улучшает представление данных.

✔️ Установка

pip install humanize


🐱 Ссылка на GitHub

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤‍🔥4
🖥 Методы списков в Python

🌐 А вот ещё годный сайт, где собраны самые используемые методы/функции Python

🐍 Ghostly Python | #шпаргалки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍196🔥1
👨‍💻 Гайд: Как работать с JSON в Python. Часть 1

JSON (JavaScript Object Notation) — это текстовый формат обмена данными, который часто используется в API, конфигурационных файлах и при работе с веб-приложениями. В Python для работы с JSON используется встроенный модуль json.

1️⃣ Чтение JSON-строк

Вы можете загружать JSON-данные из строки с помощью функции json.loads.

import json

# JSON-строка
data = '{"name": "Alice", "age": 25, "hobbies": ["reading", "coding"]}'

# Преобразуем строку в Python-словарь
parsed_data = json.loads(data)
print(parsed_data["name"]) # Alice
print(parsed_data["hobbies"]) # ['reading', 'coding']


2️⃣ Чтение JSON из файла

Если JSON-данные хранятся в файле, используйте функцию json.load.

import json

# Открываем файл с JSON
with open("data.json", "r") as file:
data = json.load(file)

# Работаем с данными
print(data["name"]) # Alice
print(data["age"]) # 25


➡️ Пример файла data.json:

{
"name": "Alice",
"age": 25,
"hobbies": ["reading", "coding"]
}


3️⃣ Запись JSON в файл

Функция json.dump сохраняет данные Python в файл в формате JSON.

import json

# Данные для записи
data = {
"status": "success",
"code": 200,
"message": "Data saved successfully!"
}

# Сохраняем в файл
with open("output.json", "w") as file:
json.dump(data, file, indent=4) # indent=4 делает JSON читабельным


➡️ Результат в файле output.json:

{
"status": "success",
"code": 200,
"message": "Data saved successfully!"
}


Чтобы не растягивать пост, я решил разбить эту тему на несколько частей. Во второй части рассмотрим: преобразование Python-объектов в JSON, настройку сериализации JSON, а также несколько советов по использованию модуля json.

🐍 Ghostly Python | #гайды
Please open Telegram to view this post
VIEW IN TELEGRAM
👍87🔥3👏1
📸 Скрипт: Сортировка фотографий по дате съёмки с помощью Python

Наверное у каждого есть папка с фотографиями, в которой свалено просто все, что можно, в одну кучу... Так вот если вы все таки надумали навести порядок, то можно организовать фото по дате съёмки с помощью библиотеки Pillow.

⚙️ Как это работает?

Фотографии часто содержат метаданные EXIF, где хранится дата съёмки. Мы используем её для создания папок и перемещения файлов.

✔️ Установка библиотеки

Для работы скрипта, потребуется установить библиотеку Pillow:

pip install pillow


📌 Что делает этот скрипт:

1. Считывает дату съёмки из EXIF-метаданных, а если их нет, то берет дату создания файла.
2. Создаёт папки для каждой даты (формат: YYYY-MM-DD).
3. Перемещает фотографии в соответствующие папки.

📂 Скрипт с комментированием кода уже в архиве:


➡️ Скачать...

🐍 Ghostly Python | #скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
📱 Списки (массивы) в Python и работа с ними

Статья рассказывает о списках в Python — одном из самых универсальных и часто используемых инструментов для работы с данными.

📌 Вы узнаете:

🟢 Как создавать списки и добавлять в них элементы.
🟢 Как работать с индексами, извлекать данные и использовать срезы.
🟢 Какие методы доступны для изменения, сортировки и фильтрации списков.
🟢 Практические примеры, которые помогут быстро разобраться с основными функциями списков.

🖥 Перейти к статье

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7