Python Vibes


Гео и язык канала: Украина, Украинский
Категория: Технологии


👨‍💻 Канал про різні айті проекти, корисні поради розробникам та можливості заробітку.
Для друга:
https://t.me/+KffOzVUKJHEwOTRi
По всім питанням: @zhenya_glow

Связанные каналы

Гео и язык канала
Украина, Украинский
Категория
Технологии
Статистика
Фильтр публикаций


👋 Привітальний телеграм бот

Думаю, багато з Вас помічало, що часто при приєднанні до каналу Вам відразу пише бот. Розберемо, як створити такого бота всього в кілька рядків коду.

🔑 Основний код:

CHANNEL_ID = -100

@greet_router.chat_join_request(F.chat.id == CHANNEL_ID)
async def register_user(
chat_join_request: types.ChatJoinRequest,
bot: Bot,
):
await bot.send_photo(
chat_id=chat_join_request.from_user.id,
caption=f" Щоб отримати доступ до каналу, пройдіть невеликий тест!\n\n"
f" ВСЕ ДУЖЕ ЛЕГКО!",
photo="FILE_ID",
reply_markup=get_answer_keyboard()
)

😲 Цікавий факт про обмеження Telegram:

Юзер має лише 5 хвилин на будь-яку взаємодію з ботом.

🧑‍💻 Саме тому адміни створюють крінж тести типу "Підтвердіть, що Ви українець" або "Вам 18 років?".

🔒 Це обмеження введене телеграм для боротьби зі спамом - якщо протягом 5 хвилин немає відповіді, бот просто зникає у користувача і не вийде занести його у базу.

🚀 Python Vibes | 🖥 YouTube | 💬 Чат






🤔 Що робить метод split()?
Опрос
  •   Об'єднує рядки
  •   Розділяє рядок
  •   Видаляє пробіли
  •   Змінює символи
168 голосов


💻 Перша нормальна форма (1NF)

🤔 Якщо ви працюєте з базами даних, то рано чи пізно зіткнетеся з поняттям "нормалізація" та "нормальні форми". Ці важливі правила, допомагають правильно організувати дані.
📚Нормальні форми (їх всього 6) - це набір правил для проектування баз даних.

Вони допомагають:

➖ Зменшити ризик помилок при оновленні
➖ Зробити структуру бази даних логічною та зрозумілою

Сьогодні розглянемо Першу нормальну форму (1NF) - найбазовішу з усіх.

❗️Головне правило: в одній клітинці таблиці повинно бути тільки одне значення!

📝 На картинці показано простий приклад:

Зліва - таблиця до нормалізації. Бачите, як в одній клітинці зберігаються кілька email адрес? Це порушує принцип 1NF.
Справа - таблиця після нормалізації. Тепер кожен рядок містить одну людину з одним email. Це відповідає 1NF.

🤔 А навіщо це взагалі знати і так все логічно?

Тут, на мою думку, база даних є доволі серйозною штукою, якою не варто нехтувати під час проектування. Тому краще все ж таки знати кілька правил і не ризикувати, щоб потім було простіше.

🚀 Python Vibes | 🖥 YouTube | 💬 Чат


🖼 Новий туторіал з Python!

Розбираємо бібліотеку rembg - вона дозволяє автоматично видаляти фон із зображень всього за кілька рядків коду.

Дивіться, буде корисно:
https://youtu.be/EX_FDUJu8t4?si=ZquxgY9Y7KmFs9-a

🚀 Python Vibes | 🖥 YouTube | 💬 Чат


🌐 Базові Htpp методи

🚀 Python Vibes | 🖥 YouTube | 💬 Чат

2k 0 14 2 35

🎄 З Новим 2025 роком!

Нехай цей рік принесе Вам менше багів і більше успішних деплоїв! Бажаю, щоб Ваш код був чистим, проекти - успішними, а дедлайни - реальними 😉

Надіюсь, в цьому році війна нарешті закінчиться і настане мир! 🇺🇦

В майбутньому буде тільки більше постів, роликів та розбору цікавих тем! 🚀

P.S З роком змії, пітоністи! 🐍


👩‍💻 Стильний PyСharm

Втомились від стандартного інтерфейсу PyCharm і хочеться змін? На щастя PyCharm має безліч плагінів, які допоможуть змінити його вигляд!

🎨 Material Theme UI - найпопулярніший плагін для персоналізації PyCharm (16.2+ млн завантажень). Він пропонує набір сучасних тем, які:

➖ Покращують читабельність коду
➖ Зменшують навантаження на очі маючи безліч темних тем
➖ Створюють приємну атмосферу для тривалої роботи

⚙️ Як встановити:

1. Відкрийте Settings → Plugins
2. Знайдіть "Material Theme UI"
3. Натисніть Install та перезавантажте IDE

🎭 Як змінити тему:

1. Settings → Appearance & Behavior → Appearance
2. У списку "Theme" виберіть бажану тему

P.S Моя улюблена тема доречі — Night Owl (яка на картинці)

🚀 Python Vibes | 🖥 YouTube | 💬 Чат


📹 Як завантажити відео з будь-якої соц мережі?

За допомогою даного коду можна завантажити відео з Youtube, Youtube Shorts, Tik Tok, Instagram, Facebook і т.д.

import yt_dlp

def download_video(url, output_path='video.mp4'):
ydl_opts = {
'format': 'bestvideo+bestaudio/best',
'outtmpl': output_path
}
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])

url = 'URL'
download_video(url)

🐈 В даної бібліотеки є ще купа параметрів, які теж варто дослідити. 📚

🚀 Rumpy | 🖥 YouTube | 💬 Чат


😱 Хочу нагадати, що у нас є чатик для спілкування.

https://t.me/+0T6-fRmBw45jMjdi


⚡️ FastAPI перший проект

FastAPI — це сучасний, швидкий, веб-фреймворк для розробки API на Python.

Головні плюси FastAPI

1. Швидкість — один з найшвидших Python фреймворків
2. Асинхронність — дозволяє ефективно обробляти I/O операції, не блокуючи виконання інших завдань
3. Автоматична валідація - перевіряє дані за вас
4. Документація з коробки - Swagger UI вже вбудований

👨‍💻 Простий приклад:

from fastapi import FastAPI

# Створюємо екземпляр FastAPI
app = FastAPI()

# Створюємо endpoint
@app.get("/") # / - це корінь вашого API, головна адреса сервера.
def read_root():
return {"message": "Hello World"}

🎁 Автоматична документація

Після запуску перейдіть на /docs у вашому браузері. Там буде відображено автоматично згенеровану Swagger UI документацію, де можна:

1. Переглянути всі доступні endpoints
2. Протестувати їх прямо в браузері
3. Побачити формати запитів і відповідей

Як почати?

📥 Встановлення:
pip install fastapi uvicorn

💫 Запуск:
uvicorn main:app --reload

📄 Загалом FastAPI має прекрасну документацію, яку доволі просто та приємно читати.
🇺🇦 Ну і що дуже радує, вона має навіть переклад українською.

🚀 Rumpy | 🖥 YouTube | 💬 Чат


🎨 Як створити CAPTCHA на Python за 30 секунд?

📥 Для роботи потрібно встановити бібліотеку:
pip install captcha

📝 Ось весь код:

from captcha.image import ImageCaptcha
import random
import string

# Створюємо генератор капчі
image = ImageCaptcha()

# Генеруємо випадковий текст з 6 символів
text = ''.join(random.choices(string.ascii_letters + string.digits, k=6))

# Створюємо і зберігаємо капчу
image.write(text, 'captcha.png')

print(f"Текст капчі: {text}")

Додаткові фічі:

1. Зміна кольору, додання шуму або спотворення для більшого захисту.
2. Можна працювати також з аудіо капчами.
3. Доволі проста та приємна документація.

🚀 Rumpy | 🖥 YouTube | 💬 Чат


💌 Власні спливаючі повідомлення на Python

❓ Хочете надсилати власні спливаючі повідомлення? З допомогою plyer можна швидко створити власні сповіщення які працюють на всіх ОС.

📸 На даному фото реалізована проста програма, яка надсилає спливаюче сповіщення.

🔧 Що вміє Plyer?

➖ Надсилати спливаючі сповіщення.
➖ Керувати буфером обміну (копіювати й вставляти текст).
➖ Відстежувати стан батареї.
➖ Працювати з камерою.
➖ Виконувати інші функції операційної системи.

🚀 Rumpy | 🖥 YouTube | 💬 Чат


🖱 Автоклікер на Python

😂 Набридло тисячу разів клікати тапалки? В даному прикладі реалізовано простий автоклікер, який імітує натискання миші.

💡 Встановлення:
pip install pyautogui

🎮 Використання:
1. Запускаєте скрипт
2. Наводите курсор куди треба
3. Насолоджуєтесь автоматичними кліками
4. Ctrl+C для зупинки

🚀 Rumpy | 🖥 YouTube | 💬 Чат


🤷‍♀️ Яка різниця між ітератором і генератором?

Ітератори та генератори — це способи перебору даних в Python. Вони мають схожі функції, але працюють по-різному.

🔄 Ітератор

Ітератор — це об'єкт з методами __iter__ та __next__, створюється вручну. Можна контролювати логіку перебору. (приклад на картинці)

⚙️ Генератор

Генератор — це спрощений спосіб створення ітератора. Замість __iter__ і __next__, використовується ключове слово yield, яке автоматично зупиняє виконання і повертає значення, поки цикл не завершиться. (приклад на картинці)

⏩ Отже, ітератор потребує вручну прописати __iter__ та __next__, а генератор це автоматизує за допомогою yield.

🚀 Rumpy | 🖥 YouTube | 💬 Чат


🧹 Принцип DRY

DRY — це один із ключових принципів програмування, який закликає уникати дублювання коду. Основна ідея: Don't Repeat Yourself (Не повторюй себе) .

🤔 Чому варто використовувати DRY?

1. Код стає більш приємний оку, бо зменшується обсяг коду.
2. Спрощується підтримка.
3. Зменшується ймовірність помилок.

Приклад без DRY:

def greet_john():
print("Привіт, John!")
print("Гарного дня!")
print("До зустрічі!")

def greet_mary():
print("Привіт, Mary!")
print("Гарного дня!")
print("До зустрічі!")

Поганий приклад - кожна функція містить однаковий код, що ускладнює підтримку.

Приклад із DRY:

def greet(name):
print(f"Привіт, {name}!")
print("Гарного дня!")
print("До зустрічі!")

Хороший приклад - одна функція обробляє всі привітання через параметр name.

🚀 Rumpy | 🖥 YouTube | 💬 Чат


⏱️ Моніторинг продуктивності з WakaTime

WakaTime — це інструмент для розробників, який допомагає зрозуміти скільки часу ти реально кодив, а скільки страдав фігньой. 😅

Ключові можливості:
➖ Детальна статистика продуктивності
➖ Підтримка VS Code, PyCharm, Sublime та інших IDE
➖ Щоденні, тижневі та місячні звіти
➖ Відстеження проектів та файлів
➖ Інтеграція з GitHub

📈 Чому це корисно?

WakaTime допомагає визначити, на що витрачається твій час та побачити, які технології ти використовуєш найчастіше. Це особливо корисно для саморозвитку та відстеження власного прогресу.

🚀 Rumpy | 🖥 YouTube | 💬 Чат


🖼 Видалення фону зображення на Python

Іноді потрібно видалити фон зображення, щоб отримати прозору картинку. Це можна зробити з допомогою бібліотеки rembg, яка автоматично видаляє фон з допомогою ШІ!


from rembg import remove
from PIL import Image

input_path = 'img.png'
output_path = 'img_output.png'

img = Image.open(input_path)
result = remove(img)
result.save(output_path)

🚀 Rumpy | 🖥 YouTube | 💬 Чат


😱 Які існують типи даних в Python?

➿➿➿➿➿➿➿

🕷 Типи даних поділяються на:

ЗМІННІ та НЕЗМІННІ

➿➿➿➿➿➿➿

🎩 Незмінні типи даних (Immutable)

int — цілі числа (наприклад, 5, -10)
float — дробові числа (наприклад, 3.14, -0.1)
bool — логічні значення (True, False)
str — рядки (наприклад, "Hello")
tuple — кортежі, що зберігають послідовність даних, яку не можна змінювати (наприклад, (1, 2, 3))
frozenset — незмінні множини, що містять унікальні елементи

🐈‍⬛ Змінні типи даних (Mutable)

list — списки, які можна редагувати, додавати або видаляти елементи (наприклад, [1, 2, 3])
dict — словники, які зберігають пари "ключ-значення" (наприклад, {"name": "Alice", "age": 25})
set — множини, що містять унікальні значення і допускають зміну (наприклад, {1, 2, 3})

В чому різниця?

Різниця між змінними та незмінними типами даних пов'язана з тим, як вони зберігаються та працюють у пам'яті.


👈 Незмінні типи (Immutable): коли ви змінюєте значення, Python створює новий об'єкт із новим місцем у пам'яті, залишаючи старий об'єкт без змін.

text = "Hello"
print(id(text)) # ID першого об'єкта
text += " World"
print(id(text)) # ID нового об'єкта, який відрізняється від першого

👋 Змінні типи (Mutable): Змінні типи, як-от списки та словники, можна змінювати прямо в тому ж місці в пам'яті. Якщо додати або змінити елемент у списку, Python просто оновлює дані без створення нового об'єкта.

my_list = [1, 2, 3]
print(id(my_list)) # ID початкового списку
my_list.append(4)
print(id(my_list)) # ID той самий, список змінився на місці

🚀 Rumpy | 🖥 YouTube | 💬 Чат

Показано 20 последних публикаций.