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

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

Цены: @heywan_media

Реклама на бирже: https://telega.in/c/+IOa15XDNbxRkYzNi
Download Telegram
📖 Python для начинающих. Учимся программировать с помощью мини-игр и загадок

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

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

🐍 Ghostly Python | #книги
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
📱 Бот-парсер маркетплейса на Python

В этой статье автор показывает один из методов парсинга на Python на примере маркетплейса Wildberries.

Суть подхода в том, что мы будем не разбирать запрошенную html страницу по ссылке, а будем использовать API сайта, который используется сервисом для получения и отображения всех товаров требуемой категории.

📌 В проекте будут использоваться следующие библиотеки:

🟢 requests — для парсинга данных API.
🟢 aiogram 3.10.0 — одна из самых популярных библиотек для разработки telegram ботов.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
👩‍💻 Python Roadmap — подробный гид для изучения Python, подходящий для новичков и продвинутых разработчиков.

📌 Что внутри:

🟢 Полный список тем от основ синтаксиса до продвинутых концепций, включая ООП, асинхронность и многопоточность.
🟢 Рекомендации по библиотекам и фреймворкам.
🟢 Советы по изучению Python для веб-разработки, анализа данных, машинного обучения и DevOps.
🟢 Ссылки на полезные ресурсы и документацию.

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

Кто хочет структурировать свое обучение Python — сохраняйте 👍


🐍 Ghostly Python | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥1
🖼️ Библиотека: PyFilesystem2

PyFilesystem — это библиотека для работы с файловыми системами через единый API. Она позволяет взаимодействовать с локальными и удаленными файловыми системами, архивами, облачными хранилищами и т.д.

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

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

from fs import open_fs

# Работа с локальной файловой системой
fs = open_fs('.')

# Создание файла
fs.writetext('example.txt', 'Привет, PyFilesystem!')

# Чтение файла
content = fs.readtext('example.txt')
print(content)

# Просмотр списка файлов в директории
for path in fs.listdir('/'):
print(path)

# Работа с ZIP-архивом
zip_fs = open_fs('zip://example.zip', writeable=True)
zip_fs.writetext('file_in_zip.txt', 'Это внутри архива.')


PyFilesystem значительно упрощает работу с файлами на различных хранилищах и системах.

✔️ Установка

pip install fs


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

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🥰3
🔻 Объединение словарей в Python

Допустим, у вас есть два словаря и вы хотели бы легко объединить их в один. Для этого вы можете использовать нотацию ** для **kwargs-подобных объектов, чтобы удобно их объединить.

⚙️ Пример:

dict1 = {"A": 10, "B": 20, "C": 30}
dict2 = {"X": 100, "Y": 200, "Z": 300}

dict3 = {**dict1, **dict2}
print(dict3)


✍️ Вывод:

{'A': 10, 'B': 20, 'C': 30, 'X': 100, 'Y': 200, 'Z': 300}


🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥73
🌐 Асинхронное программирование в Python — что это, как устроено и где применяется

Большинство Python-программ работает синхронно: код выполняется последовательно, строка за строкой. Если программе нужно отправить запрос (например, к серверу погоды), она ждет ответа и лишь затем продолжает выполнение. Для небольших проектов такой подход вполне подходит, но в высоконагруженных сервисах он становится узким местом.

💬 Почему асинхронный код важен?

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

Так вот, подробнее об этом подходе вы узнаете из этой статьи.

📌 Что в статье?

— Объяснение основ асинхронного программирования в Python.
— Показаны примеры использования библиотек asyncio и других инструментов для написания асинхронного кода.
— Разбираются ситуации, когда асинхронность дает значительный прирост производительности.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
📱 Разбираемся со срезами в Python

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

📌 Синтаксис срезов

sequence[start:stop:step]


start — начальный индекс (включительно, по умолчанию 0).
stop — конечный индекс (не включается).
step — шаг (по умолчанию 1).

⚙️ Примеры

1. Извлечь подмножество:

numbers = [0, 1, 2, 3, 4, 5]
print(numbers[1:4]) # [1, 2, 3]


2. Пропустить элементы:

print(numbers[::2])  # [0, 2, 4]


3. Перевернуть список:

print(numbers[::-1])  # [5, 4, 3, 2, 1, 0]


4. Взять элементы с конца:

print(numbers[-3:])  # [3, 4, 5]


5. Извлечь строку:

text = "Python"
print(text[1:5]) # ytho


Более подробно изучить тему, а также попрактиковаться на примере строк, вы можете здесь 🔜 CodeBasic

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥14🔥7👍43🥱1
Media is too big
VIEW IN TELEGRAM
📱 Реальное ЛАЙВКОДИНГ собеседование JUNIOR Python разработчик

В данном видео автор на практике покажет решение трех задач с собеседования на позицию Junior Python. А также расскажет, что нужно говорить во время собеса и что пригодится кроме умения решать задачи.

0:00 - Что вас ждет
0:45 - 1 задача (легкая)
6:43 - Определяем алгоритмическую сложность
8:58 - 2 задача (средняя)
12:44 - Момент ступора...
16:06 - 3 задача (самая сложная)
24:23 - Что нужно говорить вслух
31:48 - Что важно уметь кроме решения задач

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

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
👩‍💻 Python Projects — отличный ресурс с более чем 70 проектами на Python для начинающих.

Там вы найдете множество идей для простых и увлекательных проектов: игры, генераторы паролей, таймеры и многое другое.

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

В общем, кому нужно больше практики — сохраняйте 👍


⛓️ Ссылка на ресурс

🐍 Ghostly Python | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥6
⚙️ Библиотека: Cerberus

Cerberus — это легковесная библиотека для валидации данных. Она позволяет проверять соответствие данных указанным схемам и поддерживает простую и гибкую настройку правил валидации.

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

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

from cerberus import Validator

# Определение схемы валидации
schema = {
'name': {'type': 'string', 'maxlength': 10},
'age': {'type': 'integer', 'min': 18},
'email': {'type': 'string', 'regex': '^[\w\.-]+@[\w\.-]+$'}
}

# Создание валидатора
v = Validator(schema)

# Данные для проверки
user_data = {'name': 'Alice', 'age': 24, 'email': 'alice@example.com'}

# Валидация данных
if v.validate(user_data):
print("Данные корректны")
else:
print("Ошибки в данных:", v.errors)


✔️ Установка

pip install cerberus


🐱 Ссылка на GitHub

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍135
Всё, что нужно знать о конструкторах в Python

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

В этой статье, вы узнаете об этом подробнее.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
9
📱 Фишка: Переопределение операторов для кастомных объектов

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

⚙️ Пример

Создание вектора с поддержкой арифметических операций:

class Vector:
def __init__(self, x, y):
self.x = x
self.y = y

def __add__(self, other):
return Vector(self.x + other.x, self.y + other.y)

def __sub__(self, other):
return Vector(self.x - other.x, self.y - other.y)

def __mul__(self, scalar):
return Vector(self.x * scalar, self.y * scalar)

def __repr__(self):
return f"Vector({self.x}, {self.y})"

# Пример использования
v1 = Vector(2, 3)
v2 = Vector(1, 4)

print(v1 + v2) # Vector(3, 7)
print(v1 - v2) # Vector(1, -1)
print(v1 * 3) # Vector(6, 9)


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

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6👍4
👩‍💻 Шпаргалка по Python для каждого разработчика

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

Автор включил синтаксис для каждой концепции Python от начального до продвинутого уровня.

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

Базовые конструкции: переменные, типы данных, операторы, условные конструкции и циклы.
Стандартная библиотека: полезные функции для работы с файлами, коллекциями и многим другим.
Продвинутые темы: декораторы, генераторы, обработка исключений и многое другое.
Советы по оптимизации: практические рекомендации для написания чистого и быстрого кода.

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

🐍 Ghostly Python | #шпаргалки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥1
Media is too big
VIEW IN TELEGRAM
👩‍💻 Пет-проект на Python за 50 минут. Курс по FastAPI для начинающих [2024]

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

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

Урок предоставляет всесторонний подход к созданию производительных и современных веб-приложений.

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

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105🔥4
⚙️ Библиотека: Dateparser

Данная библиотека позволяет легко находить и определять даты в массиве данных. Работает с разными форматами записи: и строгими, и «человекопонятными».

Dateparser сможет найти дату и формата «25.06.1999», и формата «вчера» или «месяц назад». В основном библиотека используется при парсинге данных.

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

>>> import dateparser

>>> dateparser.parse('Fri, 12 Dec 2014 10:55:50')
datetime.datetime(2014, 12, 12, 10, 55, 50)

>>> dateparser.parse('1991-05-17')
datetime.datetime(1991, 5, 17, 0, 0)

>>> dateparser.parse('In two months') # today is 1st Aug 2020
datetime.datetime(2020, 10, 1, 11, 12, 27, 764201)

>>> dateparser.parse('1484823450') # timestamp
datetime.datetime(2017, 1, 19, 10, 57, 30)

>>> dateparser.parse('January 12, 2012 10:00 PM EST')
datetime.datetime(2012, 1, 12, 22, 0, tzinfo=<StaticTzInfo 'EST'>)


✔️ Установка

pip install dateparser


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

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
👩‍💻 Фишка: Использование namedtuple для удобных и читаемых кортежей

namedtuple — это класс, который позволяет создавать кортежи с именованными полями. Он является частью модуля collections и позволяет обращаться к элементам кортежа по имени, а не по индексу.

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

Вот небольшой пример:

from collections import namedtuple

# Создание типа данных Person
Person = namedtuple('Person', ['name', 'age'])

# Создание экземпляра
person1 = Person(name="Alice", age=30)

# Доступ к полям через имя
print(person1.name) # Output: Alice
print(person1.age) # Output: 30


Как и обычные кортежи, namedtuple является неизменяемым (immutable). Это значит, что после создания объекта его поля нельзя будет изменить.

В отличие от обычных классов, namedtuple использует меньше памяти, так как не хранит отдельные словари для каждого объекта.

📌 Когда использовать?

🟢 Для структурированных данных: Если вам нужно хранить данные, которые часто встречаются в виде нескольких полей (например, имя, возраст, координаты), namedtuple позволит улучшить читаемость.

🟢 Для экономии памяти: Когда нужно создать легковесные объекты, но с возможностью быстрого доступа к полям по именам.

🟢 Когда нужно заменить кортежи: Если вы хотите использовать кортежи, но с добавлением именованных полей, чтобы избежать путаницы с индексами.

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92🔥2💘1
📱 Полезная шпаргалка с задачами и примерами решений на Python для подготовки к собеседованию

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

📌 Что внутри:

🟢 Поиск минимальных, максимальных и средних значений в коллекциях;
🟢 Подсчет вхождений определенных символов или строк;
🟢 Слияние нескольких списков в единый;
🟢 Чтение и запись данных в файлы;
🟢 Работа с регулярными выражениями для поиска и обработки данных;
🟢 Использование лямбда-функций для лаконичного кода;
🟢 Создание и применение декораторов для оптимизации функций;
🟢 Генераторы списков и другие удобные инструменты Python.

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

🐍 Ghostly Python | #шпаргалки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
👩‍💻 Python ООП: КОМПОЗИЦИЯ простыми словами.

В этом видео мы познакомимся с концепцией в ООП языка Python известной как композиция.

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

📱 Ссылка на урок

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
📱 Огромная библиотека гайдов по Python

В данном репозитории собрано множество гайдов с готовым кодом по разным направлениям разработки. Отличный вариант найти что-то интересное для себя и попрактиковаться в разработке.

📌 Содержит гайды по таким темам, как:

Этичный хакинг: разработка WiFi сканера, написание кейлоггера, взлом запароленных Zip-архивов и еще много всего интересного

Машинное обучение: обработка естественного языка, компьютерное зрение и многое другое

— Веб-парсинг
— Использование стандартных библиотек
— Использование API
— Базы данных
— Работа с мультимедиа
— Веб разработка
— Разработка приложений с GUI
— Разработка игр

В общем, однозначно стоит заглянуть и попробовать что-то реализовать.


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

🐍 Ghostly Python | #resources
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥1
⚙️ Библиотека Python: httpx

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

✔️ Основные особенности

🗣 Поддержка различных протоколов: httpx поддерживает HTTP/1.1, HTTP/2 и WebSocket, что позволяет вам взаимодействовать с различными серверами и сервисами.

🗣 Поддержка HTTPS: библиотека обеспечивает безопасное соединение с сервером по HTTPS протоколу с использованием SSL и TLS.

🗣 Асинхронные запросы: httpx предоставляет возможность осуществлять асинхронные запросы, что позволяет улучшить производительность в асинхронных приложениях.

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

import httpx

async def main():
async with httpx.AsyncClient() as client:
response = await client.get('https://api.github.com/repos/encode/httpx')
print('Response:', response.status_code)
print('Content:', response.text)

# Запуск асинхронной функции
httpx.run(main())


Установка

pip install httpx


Также, httpx можно использовать прямо в терминале как CLI-утилиту. Для этого необходимо выполнить установку следующим образом:

pip install 'httpx[cli]'

Чтобы узнать все доступные опции, выполните команду: httpx help

Ну и если было полезно, ставь 🔥


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

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10