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

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

Цены: @heywan_media

Реклама на бирже: https://telega.in/c/+IOa15XDNbxRkYzNi
Download Telegram
🐍 Как изучать Python в 2025 году: дорожная карта

Эта статья представляет собой детальный план обучения Python с нуля. Вы узнаете в каком порядке стоит изучать язык, чтобы переход от простейших концепций к более сложным был плавным и понятным.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
📱 Фишка: Использование functools.partial для настройки функций

functools.partial позволяет создавать функции с предопределёнными аргументами, что полезно для сокращения кода и повышения читаемости.

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

from functools import partial

def greet(greeting, name):
return f"{greeting}, {name}!"

# Создаём функцию с предопределённым приветствием
say_hello = partial(greet, "Hello")
print(say_hello("Alice"))
# Вывод: Hello, Alice!


➡️ Пример функции преобразования типов:

int_base_2 = partial(int, base=2)
print(int_base_2("1010"))
# Вывод: 10


Используйте partial для настройки функций и упрощения повторяющихся вызовов!


🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Botasaurus — инструмент для веб-скрейпинга с максимумом удобства и возможностей. Он упрощает создание скрейперов, помогает обходить антибот-защиту и экономит время.

📌 Что предлагает Botasaurus?

➡️ UI для скрейперов
➡️ Обход защиты от ботов
➡️ Экономия на прокси
➡️ Асинхронность и масштабируемость
➡️ Встроенные инструменты: кэширование, очистка данных, профили — всё, что нужно для удобной работы.

📱 Ссылка на GitHub

🐍 Ghostly Python | #инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤‍🔥3
💬 Готовимся к собесу: 500 практических вопросов с ответами и объяснениями

Если вы хотите углубить свои знания Python и подготовиться к собеседованию, это must have для вас.

📌 Что внутри?

➡️ Основы Python
➡️ Функции и модули
➡️ Объектно-ориентированное программирование
➡️ Работа с файлами
➡️ Исключения и обработка ошибок
➡️ Генераторы, итераторы и понимание их работы.
➡️ Управление памятью, декораторы и замыкания.
➡️ Работа с потоками, процессами и асинхронностью.

Отличный способ проверить свои знания, найти слабые места и закрыть пробелы в понимании Python.

⬇️ Скачать PDF из архива

🐍 Ghostly Python | #шпаргалки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7👍5
👾 Как написать игру на Python: 5 игровых движков

Туториал для тех, кто хочет сделать игру на Python (и пока не изучать Unity или Unreal Engine). Напишем код простой игры со сбором монет и сравним на трех различных движках, а также сделаем пару игр в стилях Interactive Fiction и визуального романа.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍51
💬 Задача: Что будет выведено в консоль?

def modify(number, string):
number += 1
string += " world"
return number, string


num = 5
text = "hello"
num, text = modify(num, text)

print(num, text)


Выберите вариант ответа ниже 🔽

🐍 Ghostly Python | #задачи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
👍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