Мир Python
2.65K subscribers
16 photos
Секреты, лайфхаки и реальный код
Download Telegram
🔹 Пузырьковая сортировка

Это один из самых простых алгоритмов сортировки.
Он работает так: мы многократно проходим по списку и сравниваем соседние элементы. Если элемент слева больше, чем справа — меняем их местами. После каждой итерации «самый тяжёлый» элемент всплывает в конец списка — отсюда и название «пузырьковая».

💡 Этот метод часто спрашивают на собеседованиях — не потому, что им реально пользуются на практике (он медленный), а чтобы проверить базовое понимание алгоритмов и умение писать простой код.
arr = [5, 3, 8, 4, 2]

for i in range(len(arr)):
for j in range(len(arr) - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]

print(arr) # [2, 3, 4, 5, 8]
🎉88👍75🔥72👏66🤩65🥰64❤61👀1
💡 Программирование — это не только синтаксис

Многие начинающие программисты думают, что главное — выучить команды и правила языка. Но на самом деле цель программирования гораздо шире:
👉 уметь формулировать и реализовывать алгоритмы.

📚 Один из лучших способов разобраться в базовых алгоритмах — книга «Грокаем алгоритмы» Адитьи Бхаргавы.
Она написана простым языком, с наглядными картинками и понятными примерами.

✨ Чем полезна:

- подходит для новичков
- даёт фундаментальные знания о поиске, сортировке, рекурсии, структурах данных
- поможет понять логику работы алгоритмов независимо от выбранного языка программирования

🔑 Итог: учить синтаксис — важно, но без понимания алгоритмов код останется просто набором инструкций.
👍5❤2🕊1💯1
📄 Работа с JSON в Python

JSON (JavaScript Object Notation) — популярный формат обмена данными. В Python для работы с ним есть встроенный модуль json.

🔹 Импорт модуля и базовое использование
import json

# Пример словаря Python
data = {
"name": "Alice",
"age": 25,
"skills": ["Python", "Data Science"]
}

# Преобразуем в JSON-строку
json_str = json.dumps(data)
print(json_str)
# {"name": "Alice", "age": 25, "skills": ["Python", "Data Science"]}


🔹 Запись JSON в файл и чтение из файла

# Запись
with open("data.json", "w") as f:
json.dump(data, f)

# Чтение
with open("data.json", "r") as f:
loaded_data = json.load(f)

print(loaded_data)
# {'name': 'Alice', 'age': 25, 'skills': ['Python', 'Data Science']}


🔹 Парсинг JSON-строк
json_text = '{"city": "Moscow", "temperature": 20}'
parsed = json.loads(json_text)
print(parsed["city"]) # Moscow


🔹 Советы для удобства

json.dumps(data, indent=4) — красиво форматирует JSON для чтения.
json.loads() — парсит JSON-строку в Python-объект.

Используй словари и списки в Python, чтобы легко преобразовывать их в JSON.

💡 Итог: JSON + Python = простой и удобный способ хранить и передавать данные между сервисами.
🔥2❤1
⏰ Работа с датами и временем в Python (datetime)

В Python есть встроенный модуль datetime, который позволяет легко работать с датами и временем.

🔹 Импорт и создание объектов даты/времени
from datetime import datetime, date, time

# текущая дата и время
now = datetime.now()
print(now) # 2025-10-01 21:30:45.123456

# только дата
today = date.today()
print(today) # 2025-10-01

# создание конкретной даты и времени
dt = datetime(2025, 10, 1, 15, 45)
print(dt) # 2025-10-01 15:45:00



🔹 Форматирование дат и времени
print(now.strftime("%d-%m-%Y %H:%M"))  # 01-10-2025 21:30
print(now.strftime("%A, %B %d, %Y")) # Wednesday, October 01, 2025



🔹 Разница между датами (timedelta)
from datetime import timedelta

yesterday = today - timedelta(days=1)
tomorrow = today + timedelta(days=1)

print(yesterday) # 2025-09-30
print(tomorrow) # 2025-10-02


🔹 Парсинг строк в дату
date_str = "2025-10-01 15:45"
parsed_date = datetime.strptime(date_str, "%Y-%m-%d %H:%M")
print(parsed_date) # 2025-10-01 15:45:00


💡 Итог: datetime — это мощный инструмент для работы с датами и временем: можно создавать, форматировать, вычислять разницу и парсить строки.
👍1🐳1🍾1👻1
🐍 Почему Python так популярен среди новичков

Python — один из самых популярных языков программирования. Но что делает его особенно удобным для тех, кто только начинает?

🔹 Простая и понятная синтаксис
Код читается почти как обычный текст:

print("Привет, мир!")


Никаких лишних скобок и точек с запятой.

🔹 Большое сообщество и документация
Ты всегда найдёшь ответ на вопрос: туториалы, форумы, StackOverflow.

🔹 Много библиотек для всего

Веб: Flask, Django
Data Science: NumPy, Pandas
Машинное обучение: TensorFlow, PyTorch
Автоматизация: Selenium, aiogram

🔹 Подходит для разных целей
От простых скриптов до больших проектов и AI.

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

✨ Итог: Python дружелюбен к новичкам, но при этом мощный и востребованный. Отличный старт для карьеры программиста.
👌2❤1
📦 Управление зависимостями в Python: venv + pip

Когда проект становится чуть больше «Hello, world!», важно держать все пакеты под контролем. Для этого в Python есть связка venv и pip.

🔹 Что такое venv?
venv — это виртуальное окружение, в котором устанавливаются зависимости проекта.
Каждый проект может иметь свой набор библиотек, и они не будут мешать друг другу.

👉 Создание окружения:
python -m venv venv


👉 Активация окружения:
Windows:
venv\Scripts\activate

macOS / Linux:
source venv/bin/activate


После активации в консоли появится префикс (venv) — значит, окружение работает.

🔹 Что такое pip?
pip — менеджер пакетов Python. С его помощью устанавливаем и обновляем библиотеки.
❤3❤‍🔥1
🤖 Мини-проект: Telegram-бот на aiogram

Хочешь попробовать Python на практике? Отличный способ — написать простого бота для Telegram с помощью библиотеки aiogram.

📌 Что умеет бот:
- отвечает на команду /start,
- отправляет приветственное сообщение,
- реагирует на любое текстовое сообщение.

from aiogram import Bot, Dispatcher, executor, types

API_TOKEN = "YOUR_BOT_API_TOKEN_HERE"

bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)

# команда /start
@dp.message_handler(commands=["start"])
async def send_welcome(message: types.Message):
await message.reply("👋 Привет! Я тестовый бот на aiogram.")

# обработка текста
@dp.message_handler()
async def echo(message: types.Message):
await message.answer(f"Вы написали: {message.text}")

if __name__ == "__main__":
executor.start_polling(dp, skip_updates=True)


1. Установи библиотеку:
pip install aiogram

2. Создай бота через @BotFather
и получи токен.
3. Подставь токен в код и запусти файл.
4. Напиши своему боту в Telegram.
🔥1
⚡️ Списковые включения (List Comprehension) — лаконичный код в Python

Один из самых красивых приёмов Python — это списковые включения.
Они позволяют создавать списки в одну строку вместо использования циклов.

👀 Сравним:

Обычный цикл:
numbers = []
for i in range(1, 6):
numbers.append(i * i)

print(numbers)

Списковое включение:
numbers = [i * i for i in range(1, 6)]
print(numbers)


✨ Результат тот же, но код — короче и понятнее.
🔥1
Библиотека BeautifulSoup

Иногда нужно достать информацию с веб-страницы - например, заголовки новостей или цены товаров. Для этого есть BeautifulSoup.
from bs4 import BeautifulSoup
import requests

html = requests.get("https://example.com").text
soup = BeautifulSoup(html, "html.parser")
print(soup.title.text)


👉 С помощью этой библиотеки можно написать скрипт, который собирает данные c сайта за минуты, сохранив их в базу данных или csv/excel файл, удобный для дальнейшей работы.
❤1
📌 Какую базу данных выбрать для изучения SQL?

Сегодня практически любой язык программирования идёт «в паре» с SQL. Ведь работа с данными чаще всего строится через базы данных.
Когда начинаешь изучать SQL, сразу возникает вопрос: с какой базой данных работать?
Вариантов много: MySQL, PostgreSQL, Oracle, ClickHouse и другие.

Но для первых шагов и практики лучший выбор — SQLite3.

🔹 Почему именно SQLite3?
Простота - не нужно поднимать сервер, всё работает «из коробки».
Удобство - база данных хранится в одном файле (.db) прямо у вас в папке.
Базовый SQL-синтаксис - всё, что вы изучите на SQLite, легко применимо к MySQL или PostgreSQL.

import sqlite3

# подключаемся (создастся файл test.db)
conn = sqlite3.connect("test.db")
cursor = conn.cursor()

# создаём таблицу
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)")

# добавляем данные
cursor.execute("INSERT INTO users (name) VALUES (?)", ("Евгений",))

# читаем данные
cursor.execute("SELECT * FROM users")
print(cursor.fetchall())

conn.commit()
conn.close()


📂 В итоге у вас появится файл test.db, который и есть база данных с которой удобно работать в рамках изучения. Для крупных боевых проектов она скорее всего не подойдет, но для изучения в самый раз.


⚡️ Итог
Если ваша цель — изучить SQL с нуля, то начните с SQLite3:
- простая установка
- минимальный порог входа
- никаких лишних настроек

А когда разберётесь с основами — переходите к более мощным системам, таким как PostgreSQL или MySQL.
👉 Сохрани этот пост, если только начинаешь учить SQL!
👍2🔥1🍾1
Подборка библиотек Python для фронтенда

Хотя Python реже применяют для клиентской части, есть полезные библиотеки и фреймворки для интеграции с веб-интерфейсами. Данные библиотеки позволяют создавать фронт на чистом python, без необходимости знания языков разметки типа HTML.

Dash - библиотека от Plotly для создания интерактивных веб-приложений и дашбордов прямо на Python.
Streamlit - быстрый способ превратить скрипты в веб-приложения. Подходит для прототипов и аналитических интерфейсов.
Panel - универсальный инструмент для построения приложений и визуализации данных, интегрируется с Bokeh и Matplotlib.
PyScript - экспериментальная технология, позволяющая запускать Python прямо в браузере через WebAssembly.
Eel - библиотека для создания десктопных приложений с HTML/JS фронтендом и Python бэкендом.

👉 Если хотите быстро и без боли реализовать фронт попробуйте Streamlit.
❤1
Подборка библиотек Python для бэкенда

Python активно используют в серверной разработке. Вот подборка библиотек, которые помогут строить быстрые и надёжные бэкенд-сервисы:

Django - мощный фреймворк «всё-в-одном»: ORM, маршрутизация, админка, безопасность и готовая архитектура. Подходит для крупных проектов.
Flask - лёгкий и гибкий фреймворк. Минимум кода, быстрый старт, возможность самостоятельно выбрать ORM и другие компоненты.
FastAPI - современный и быстрый инструмент для создания API. Автоматическая документация Swagger и высокая производительность.
SQLAlchemy - ORM для работы с базами данных. Универсальная и гибкая, используется во многих проектах.
Celery -библиотека для организации асинхронных задач и очередей. Отлично подходит для фоновой обработки и планировщиков.

👉 Если вы реализуете бэкенд на Python - начните с Flask или FastAPI.
❤3
🐍 Как красиво выводить большие числа в Python

Иногда мелочи делают код гораздо удобнее.
Если вы работаете с числами - подумайте о том, насколько проще читать 1 000 000 000, чем слитное 1000000000.

В Python есть несколько простых приёмов для красивого форматирования чисел.
Мы собрали три самых удобных.
👍2👏2❤1🔥1
Как реализовать API на Python (Часть 1 - Сервер)

Если вы думаете, что API - это сложно, то мы развеем ваши опасения 🙌
В двух публикациях я покажу простые примеры.
Сегодня разберёмся, что такое API и как написать серверную часть.

API (Application Programming Interface) — это способ, с помощью которого разные программы могут "разговаривать" между собой.
📲 Мобильное приложение получает данные с сервера — через API.
🌦 Прогноз погоды в браузере — тоже через API.
💳 Онлайн-оплата — без API невозможна.
API — это мост между клиентом и сервером.

Сервер отвечает на запросы и отдаёт данные. В Python это проще всего делать с помощью FastAPI. На скрине очень простой код простейшего API , который вы можете написать за пару минут.
В статье ниже посмотрим на то, как к этому API можно сделать запрос от клиента 👉🏻
😱2🔥1
Как реализовать API на Python (Часть 2 — Клиент)

В прошлой статье (выше) мы разобрались, что такое API и как создать простейший сервер на Python.
Теперь посмотрим, как к этому API можно сделать запрос от клиента.


Что такое клиент API?
Если серверная часть API отвечает за хранение и обработку данных, то клиент — это та сторона, которая их запрашивает.

Клиентом может быть:
🌐 веб-сайт
📱 мобильное приложение
🖥 или просто Python-скрипт

Для работы используем библиотеку requests. Буквально в несколько строк кода отправляем запрос и получаем ответ от нашего сервера.

Теперь у нас есть связка:
Серверная часть API (FastAPI)
Клиентская часть (requests)

📲 Таким образом, любое приложение или сервис может получать данные от вашего сервера.
❤1👍1