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

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

Цены: @heywan_media

Реклама на бирже: https://telega.in/c/+IOa15XDNbxRkYzNi
Download Telegram
👍10❤‍🔥3
📱 Несколько полезных фишек Python

Фишка №1

Функция vars() возвращает словарь с атрибутами объекта.

class Person:
def __init__(self, name, age):
self.name = name
self.age = age

person = Person("Alice", 30)
print(vars(person)) # {'name': 'Alice', 'age': 30}


➡️ vars() позволяет быстро получить информацию о всех атрибутах объекта, что полезно для отладки и анализа.

Фишка №2

frozenset — это неизменяемая версия множества.

frozen_set = frozenset([1, 2, 3, 4])
print(frozen_set) # frozenset({1, 2, 3, 4})


➡️ Полезно: Когда необходимо работать с множествами, которые не должны изменяться, frozenset гарантирует их неизменность.

Фишка №3

__slots__ позволяет ограничить атрибуты объектов, экономя память.

class Person:
__slots__ = ['name', 'age']

def __init__(self, name, age):
self.name = name
self.age = age

person = Person('Alice', 30)
print(person.name) # Alice


➡️ Если в классе не нужно добавлять новые атрибуты, __slots__ помогает уменьшить расход памяти.

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3❤‍🔥2
🖼️ Библиотека: Translators

Translators
— это лёгкая и мощная библиотека для Python, которая позволяет выполнять переводы текста через популярные онлайн-сервисы, такие как Google Translate, Microsoft Translator, DeepL и многие другие.

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

— Поддержка множества переводчиков: Google Translate, DeepL, Microsoft Translator, и т.д.
— Перевод текста на более чем 100 языков.
— Простота в использовании: подключение к API не требуется!
— Возможность указания источника и целевого языка.

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

import translators as ts

# Перевод через DeepL
result = ts.deepl("Как дела?", from_language="ru", to_language="en")
print(result)
# Вывод: How are you?


✔️ Установка

pip install translators


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

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
📌 Модуль re в Python

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

⚙️ Основные функции модуля re (изображены на картинке):

findall() — Возвращает список всех совпадений шаблона в строке.
match() — Проверяет совпадение шаблона только в начале строки.
search() — Ищет первое совпадение шаблона в строке, возвращает None, если совпадений нет.
sub() — Заменяет все совпадения шаблона на указанный текст.
compile() — Компилирует регулярное выражение для повторного использования.

Регулярные выражения помогают легко находить и манипулировать текстом, будь то валидация данных, фильтрация или поиск шаблонов.

🐍 Ghostly Python | #шпаргалки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103
This media is not supported in your browser
VIEW IN TELEGRAM
🎄 Скрипт: рисуем ёлочку в терминале

На кануне нового года, не очень хочется напрягаться и изучать что-то сложное. А потому, сегодня лайт контент — елочка в терминале.... Надо же как-то новогоднее настроение получить 😬

Так вот, давайте разберем, как реализовать то, что вы видите на прикрепленной гифке.

⚙️ Реализация

🟢 Для начала, нам необходимо установить библиотеку Colorama, чтобы мы могли работать с цветом в терминале (нужно для «гирлянды»).

pip install colorama


🟢 После этого, импортируем необходимые модули:

import os
import time
import random
from colorama import Fore, Style, init


🟢 И инициализируем colorama:

init(autoreset=True)


🟢 Функция для рисования ёлочки

def draw_tree(height=7):
tree = []
for i in range(height):
# Вычисляем количество звёздочек и пробелов
stars = "*" * (2 * i + 1)
spaces = " " * (height - i - 1)
tree.append(spaces + stars)
# Добавляем ствол
trunk = " " * (height - 2) + "|||"
tree.append(trunk)
return tree


🟢 Функция для добавления гирлянды с цветами

def add_garland(tree):
garland_symbols = [Fore.RED + "o", Fore.YELLOW +
"x", Fore.GREEN + "*", Fore.CYAN + "+"]
for i, line in enumerate(tree):
if "*" in line:
tree[i] = "".join(
random.choice(garland_symbols) if char == "*" else char for char in line
)
return tree


🟢 Функция отображения ёлочки с гирляндой

def show_tree(tree):
os.system("cls" if os.name == "nt" else "clear")
print("\n".join(tree))


🟢 Основной скрипт

if __name__ == "__main__":
try:
while True: # Бесконечный цикл
tree = draw_tree(height=10) # Высота ёлочки
decorated_tree = add_garland(tree)
show_tree(decorated_tree)
time.sleep(0.5)
except KeyboardInterrupt:
print("\nС Новым Годом! 🎄")


Полный скрипт, как всегда закинул в архив: тут

С Наступающим Новым Годом, дорогие друзья! 🎄


🐍 Ghostly Python | #скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍5
🎄 С Новым Годом, дорогие друзья!

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

Пусть в новом году ваш код будет чистым, баги — редкими, а деплои — успешными! Желаю каждому достичь новых вершин в 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