[PYTHON:TODAY]
62.5K subscribers
2.11K photos
942 videos
275 files
1.33K links
Python скрипты, нейросети, боты, автоматизация. Всё бесплатно!

Приват: https://boosty.to/pythontoday
YouTube: https://clck.ru/3LfJhM
Канал админа: @akagodlike
Чат: @python2day_chat

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

Канал в РКН: https://clck.ru/3GBFVm
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📈 Автоматизируй получение значений различных валют

Инструмент делает запрос к ExchangeRate API и показывает актуальный курс USD к RUB — без заморочек и регистрации.

💡 Что умеет:
🟢Получает свежий курс валют (USD → RUB);
🟢Обрабатывает ошибки (если вдруг интернет решит умереть);
🟢Подходит как база для телеграм-бота или финансового дашборда;
🟢Конечно можно адаптировать под разные, мировые валюты.

🚀 Запускаешь — и сразу знаешь курс. Прямо в терминале.

import requests
from typing import Optional

def get_exchange_rate(base_currency: str, target_currency: str) -> Optional[float]:
"""
Получает курс обмена из base_currency в target_currency.

:param base_currency: Базовая валюта (например, 'USD').
:param target_currency: Целевая валюта (например, 'RUB').
:return: Курс обмена или None в случае ошибки.
"""
url = f"https://open.er-api.com/v6/latest/{base_currency}"
try:
response = requests.get(url, timeout=10)
response.raise_for_status()
data = response.json()
rate = data["rates"].get(target_currency)
if rate is None:
print(f"Курс для {target_currency} не найден.")
return None
return rate
except requests.RequestException as e:
print(f"Ошибка при запросе к API: {e}")
return None

if __name__ == "__main__":
base = "USD"
target = "RUB"
rate = get_exchange_rate(base, target)
if rate:
print(f"Курс {base} к {target}: {rate}")
else:
print("Не удалось получить курс обмена.")


# Курс USD к RUB: 80.926191



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

📂 Код уже готов — бери, дорабатывай, засовывай в своего ассистента.

#python #code #soft
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
😊 Роботы становятся всё более реалистичными...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Полезные библиотеки Python

Python PDF Handling Tutorial
— интересная подборка скриптов для работы с PDF-файлами в Python:

Вы научитесь:
➡️ Извлекать текст и изображения из PDF файлов;
➡️ Извлекать таблицы и URL адреса из PDF файлов;
➡️ Извлекать страницы из PDF файлов как изображения;
➡️ Создавать PDF файлы;
➡️ Добавлять текст, изображения и таблицы в PDF файлы;
➡️ Выделять текст в PDF файлах и многое другое.

Пример извлечения текста:

from io import StringIO
from pdfminer.pdfinterp import PDFPageInterpreter, PDFResourceManager
from pdfminer.pdfpage import PDFPage
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams

# PDFMiner Analyzers
rsrcmgr = PDFResourceManager()
sio = StringIO()
codec = "utf-8"
laparams = LAParams()
device = TextConverter(rsrcmgr, sio, codec=codec, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)

# path to our input file
pdf_file = "sample.pdf"

# Extract text
pdfFile = open(pdf_file, "rb")
for page in PDFPage.get_pages(pdfFile):
interpreter.process_page(page)
pdfFile.close()

# Return text from StringIO
text = sio.getvalue()

print(text)

# Freeing Up
device.close()
sio.close()



Пример извлечения изображений:


import fitz
import io
from PIL import Image

# path to our input file
pdf_file = "sample.pdf"

# Input PDF file
pdf_file = fitz.open(pdf_file)

for page_no in range(len(pdf_file)):
curr_page = pdf_file[page_no]
images = curr_page.getImageList()

for image_no, image in enumerate(curr_page.getImageList()):
# get the XREF of the image
xref = image[0]
# extract the image bytes
curr_image = pdf_file.extractImage(xref)
img_bytes = curr_image["image"]
# get the image extension
img_extension = curr_image["ext"]
# load it to PIL
image = Image.open(io.BytesIO(img_bytes))
# save it to local disk
image.save(open(f"page{page_no+1}_img{image_no}.{img_extension}", "wb"))


⚙️ GitHub/Инструкция

#python #soft #github
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
😂 Моды в CS как отдельный вид искусства 🔫
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Параллелизм в Python: Многопоточность, Многопроцессорность и Асинхронность — раз и навсегда по полочкам!

Python — не только про скрипты и автоматизацию. Он умеет работать сразу с несколькими задачами параллельно — и делать это красиво. Но тут есть нюансы: GIL, multiprocessing, asyncio... разберём всё!

👨‍💻 Процессы vs Потоки vs Асинхронность

* Процессы (multiprocessing) — как отдельные контейнеры. Изолированы, не делят память. Каждый процесс может использовать своё ядро процессора. Идеально для вычислений.
* Потоки (threading) — живут в одном процессе и делят между собой память. Отлично справляются с задачами, связанными с вводом/выводом (например, скачивание файлов).
* Асинхронность (asyncio) — не параллельность в классическом смысле. Всё работает в одном потоке, но задачи переключаются между собой, не блокируя выполнение. Лучший выбор для работы с сетью.

💬 А что там с GIL?

GIL — глобальная блокировка интерпретатора в Python. Она позволяет одновременно выполняться только одному потоку Python-кода, даже если у тебя 64 ядра. Почему так? Потому что управление памятью в CPython не потокобезопасно.

⚠️ Важно: GIL не мешает использовать multiprocessing, потому что каждый процесс имеет свой интерпретатор.

⚙️ Какой инструмент для чего?

💥 multiprocessing

> Идеален для тяжёлых вычислений на нескольких ядрах.

* Process — запуск нового процесса
* Pool — пул воркеров
* Queue, Pipe — обмен данными
* Manager — разделение объектов между процессами
* Lock, Semaphore — синхронизация
* cpu_count() — сколько у тебя вообще ядер?

⚡️ threading

> Для I/O задач, где важна отзывчивость: загрузка веб-страниц, параллельный логинг и т.д.

* Thread — запуск нового потока
* Timer, Event, Barrier — управление временем и синхронизацией
* enumerate(), current_thread() — управление потоками

🌐 asyncio

> Современный подход: запуск кучи задач внутри одного потока.

* async / await — ключевые слова
* asyncio.run(), asyncio.gather() — запуск корутин
* Поддержка библиотек:

* aiohttp — запросы к сайтам
* aiofiles — работа с файлами

🔒 Условия гонки и безопасность

Race condition (состояние гонки) — когда два потока одновременно хотят изменить одну и ту же переменную. Кто первый встал — того и тапки. Итог: баги, которых потом не найдёшь.

Потокобезопасность достигается через:

* Lock, RLock
* Локальные данные потока (threading.local())


Асинхронность в деталях

Асинхронная программа:

* запускает задачу;
* пока ждёт ответа — делает что-то ещё;
* возвращается к задаче, когда пришёл ответ.

Пример:

import asyncio
import aiohttp

async def fetch(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as resp:
return await resp.text()

async def main():
html = await fetch('https://example.com')
print(html)

asyncio.run(main())


📌 Главное по теме:

🔧 Сравнение подходов:

📌 multiprocessing
• Параллельность:
• Делит память:
• Для чего: тяжёлые CPU-задачи

📌 threading
• Параллельность: (из-за GIL)
• Делит память:
• Для чего: задачи с вводом/выводом (I/O)

📌 asyncio
• Параллельность:
• Делит память:
• Для чего: сетевые и файловые задачи


🔥 Закрепим:

* Нужна мощь ядра? — multiprocessing
* Много сетевых вызовов и ожиданий? — asyncio
* Быстрая и простая многозадачность? — threading
* GIL — особенность Python, но не приговор

📂 Сохраняй шпаргалку, пригодится!

@python2day

#doc #python #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
😱 Чертовы технологии

😄

#cyberpunk
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 GitHub теперь не просто репозиторий — а полноценный учебник для разработчиков!

Кодим и развиваемся без боли 👨‍🔬

Залетела мощная нейротулза: берёт любой проект с GitHub и превращает его в интерактивный гайд. Пошагово объясняет, как работает код, причём простыми словами — даже новичок разберётся.

Что умеет:
— Учит новым технологиям прямо на реальных проектах;
— Автоматически превращает код в понятную документацию;
— Разбирает сложные участки и даёт подробные объяснения;
— Отличный способ учиться не по теории, а по боевому коду.

5️⃣ Теперь каждый репозиторий — это школа, где ты учишься по реальным сценариям.

📂 GitHub/Инструкция

#python #soft #github
Please open Telegram to view this post
VIEW IN TELEGRAM
🔒 Защити свой Telegram-чат от ботов и спама

ItsCaptchaBot — умный бот с капчей, который отфильтрует подозрительных новичков ещё до «привет».

👨‍💻 Как работает:
— Добавляешь бота в чат;
— Даёшь права на удаление сообщений и ограничение участников;
— Каждый новый юзер должен пройти капчу в течение 10 минут;
— Не прошёл? Автокик. Всё просто.

🌍 Поддерживает 30+ языков, включая русский, английский, японский и даже хинди.

⚙️ GitHub/Инструкция

#python #soft #code
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from GODLIKE
😱
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📚 Основы, без которых не построить ни одного алгоритма!

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

✍️ В одном изображении — 9 ключевых структур данных:
🟢Массив
🟢Стек
🟢Очередь и дек
🟢Хеш-таблица
🟢Связанный список
🟢Двоичное дерево поиска
🟢Граф

✔️Для каждой:
🟢простое объяснение,
🟢жизненные примеры,
🟢ключевые задачи и особенности.

Подходит всем, кто готовит себя к интервью, сдаёт экзамены, пишет код на Python, JavaScript, C++ и не только.

💾 Сохраняй себе — это база, к которой ты будешь возвращаться не раз!

#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
😄 Ничего необычного… просто так выглядит витуберша IRL, которая разводит симпов на донаты.

За монитором с милым голосом тебя может ждать потный, волосатый дядька в трусах 🍑

Подстава...😨
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Более 400 вопрос-ответов, для Python-разработчика на собеседовании с подробными ответами, инструкциями и кодом на русском

➡️ Различия между типами данных
➡️ Что такое лямбда-функция? Какое у неё назначение?
➡️ Может ли быть индекс списка отрицательным?
➡️ Чем отличаются многопоточное и многопроцессорное приложение?
➡️ Что хранится в атрибуте dict?
➡️ Что такое декоратор? Как написать собственный?
➡️ Как проверить файл .py на синтаксические ошибки, не запуская его?
➡️ И д.р

💾 Сохраняй!

#doc #python #cheatsheet #russian
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос_ответ_для_Python_разработчика_на_собеседовании.pdf
851.3 KB
🔥 Более 400 вопрос-ответов, для Python-разработчика на собеседовании с подробными ответами, инструкциями и кодом на русском
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
⚔️ Отдохни, человек... будущее уже у тебя на кухне!

Гуманоидный робот Tesla Optimus уже не просто ходит:
он гладит, моет посуду, готовит и разбирает бардак, пока ты листаешь ленту.

Серийное производство стартует уже в этом году. 🫡

#cyberpunk
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 15 лет назад один программист захотел пиццу... и случайно вписал своё имя в историю.

💬 В 2010 году Ласло Хейниц купил 2 пиццы за 10 000 биткоинов. Тогда это было ~$40. Сегодня эта привысило — $1,110,000,000

$1,1 миллиарда 😰

Так родилась легенда самой дорогой пиццы в мире и повод для ежегодного праздника у всех криптанов — Bitcoin Pizza Day (22 мая).

А ещё сегодня биткоин обновил исторический максимум, перешагнув $111 тысяч 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM