en
Feedback
Python_No_Panic

Python_No_Panic

Open in Telegram

Самый перспективный, полезный и ламповый канал по Python в русскоязычном телеграме! Обучающие посты в хронологическом порядке, посты по софт скиллам и чат, где вам всегда помогут админы и комьюнити. Сотрудничество: @Niik_Whaale

Show more
2 146
Subscribers
No data24 hours
-37 days
-1330 days
Posts Archive
Обработка URL с urllib.parse 🌐 Модуль urllib.parse помогает разбирать и создавать URL-адреса. 🔍 Применение: Создание запрос
Обработка URL с urllib.parse 🌐 Модуль urllib.parse помогает разбирать и создавать URL-адреса. 🔍 Применение: Создание запросов к API. Разбор адресов. Управление параметрами.

from urllib.parse import urlparse

url = "https://example.com/path?name=Alice"
parsed_url = urlparse(url)

print("Domain:", parsed_url.netloc)
print("Path:", parsed_url.path)
print("Query:", parsed_url.query)
🔑 Результат выполнения:
Domain: example.com
Path: /path
Query: name=Alice

🚦 Работа с потоками через threading 🧵 Модуль threading позволяет создавать потоки, что упрощает выполнение нескольких задач
🚦 Работа с потоками через threading 🧵 Модуль threading позволяет создавать потоки, что упрощает выполнение нескольких задач одновременно. 🔍 Применение: Многозадачность. Реакция на события. Параллельная обработка данных.

import threading
import time

def task(name):
    print(f"Thread {name} starting")
    time.sleep(2)
    print(f"Thread {name} finished")

thread1 = threading.Thread(target=task, args=("A",))
thread2 = threading.Thread(target=task, args=("B",))

thread1.start()
thread2.start()

thread1.join()
thread2.join()
🔑 Результат выполнения:
Thread A starting
Thread B starting
Thread A finished
Thread B finished

🌟Работа с таймерами через sched ⏳ Модуль sched позволяет планировать выполнение задач с точным учетом времени. 🔍 Применение
🌟Работа с таймерами через sched ⏳ Модуль sched позволяет планировать выполнение задач с точным учетом времени. 🔍 Применение: Запуск задач по расписанию. Автоматизация повторяющихся процессов. Создание таймеров.

import sched
import time

scheduler = sched.scheduler(time.time, time.sleep)

def print_message():
    print("Task executed!")

# Планируем задачу через 3 секунды
scheduler.enter(3, 1, print_message)
scheduler.run()
🔑 Результат выполнения: Через 3 секунды вывод:
Task executed!

🧪 Тестирование с использованием unittest 🧹 Модуль unittest предоставляет встроенные инструменты для написания тестов и пров
🧪 Тестирование с использованием unittest 🧹 Модуль unittest предоставляет встроенные инструменты для написания тестов и проверки работоспособности кода. 🔍 Применение: Автоматическое тестирование функций. Обеспечение стабильности кода. Выявление ошибок до развертывания.

import unittest

def add(a, b):
    return a + b

class TestMath(unittest.TestCase):
    def test_add(self):
        self.assertEqual(add(2, 3), 5)
        self.assertEqual(add(-1, 1), 0)

if __name__ == "__main__":
    unittest.main()
🔑 Результат выполнения:
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

🧠 Декораторы: украшение функций 🎀 Декораторы позволяют добавлять новую функциональность к функциям без изменения их кода. Э
🧠 Декораторы: украшение функций 🎀 Декораторы позволяют добавлять новую функциональность к функциям без изменения их кода. Это мощный инструмент для повышения читаемости и повторного использования кода. 🔍 Применение: Логирование. Проверка прав доступа. Измерение времени выполнения.

import time

def timer(func):
    def wrapper(*args, **kwargs):
        start = time.time()
        result = func(*args, **kwargs)
        end = time.time()
        print(f"Execution time: {end - start:.2f} seconds")
        return result
    return wrapper

@timer
def slow_function():
    time.sleep(2)
    print("Function finished!")

slow_function()
🔑 Результат выполнения:
Function finished!
Execution time: 2.00 seconds

Работа с веб-сокетами с помощью websockets 🌐 Модуль websockets позволяет работать с WebSocket-соединениями, что упрощает соз
Работа с веб-сокетами с помощью websockets 🌐 Модуль websockets позволяет работать с WebSocket-соединениями, что упрощает создание приложений с обменом данными в реальном времени. 🔍 Применение: Чат-приложения. Онлайн-игры. Реализация уведомлений.

import asyncio
import websockets

async def hello():
    uri = "ws://echo.websocket.events"
    async with websockets.connect(uri) as websocket:
        await websocket.send("Hello WebSocket!")
        response = await websocket.recv()
        print("Received:", response)

asyncio.run(hello())
🔑 Результат выполнения:
Received: Hello WebSocket!

Машинное обучение с scikit-learn 📊 Библиотека scikit-learn предоставляет инструменты для машинного обучения, такие как обуче
Машинное обучение с scikit-learn 📊 Библиотека scikit-learn предоставляет инструменты для машинного обучения, такие как обучение моделей, классификация, регрессия, кластеризация и многое другое. 🔍 Применение: Предсказание цен. Анализ данных. Построение моделей машинного обучения.

from sklearn.linear_model import LinearRegression
import numpy as np

# Данные
x = np.array([[1], [2], [3], [4], [5]])
y = np.array([2, 4, 6, 8, 10])

# Модель линейной регрессии
model = LinearRegression()
model.fit(x, y)

# Предсказание
predicted = model.predict([[6]])
print("Predicted value for x=6:", predicted[0])
🔑 Результат выполнения:
Predicted value for x=6: 12.0

Генерация графиков с помощью matplotlib 📈 Библиотека matplotlib позволяет создавать красивые графики и визуализации данных,
Генерация графиков с помощью matplotlib 📈 Библиотека matplotlib позволяет создавать красивые графики и визуализации данных, включая линейные графики, гистограммы, диаграммы рассеяния и многое другое. 🔍 Применение: Визуализация результатов анализа данных. Построение графиков для отчетов и исследований.

import matplotlib.pyplot as plt

# Данные для графика
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# Построение графика
plt.plot(x, y, label='y = 2x', color='blue')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Linear Graph')
plt.legend()
plt.show()
🔑 Результат выполнения: Линейный график, отображающий зависимость y=2x.

Работа с регулярными выражениями 🔍 Регулярные выражения (regex) позволяют искать, заменять и обрабатывать строки по заданным шаблонам. Это мощный инструмент для работы с текстом. 🔍 Применение: Поиск и замена в строках. Валидация данных (например, email). Извлечение информации из текста.
 
import re

pattern = r'\\d+'  # Ищем все числа
text = "The house number is 42 and the zip code is 12345."
matches = re.findall(pattern, text)

print(matches)  # Output: ['42', '12345']
🔑 Результат выполнения:
 
['42', '12345']

Работа с файлами и директорими через os и shutil 🗂️ Модули os и shutil позволяют работать с файловой системой: создавать, удалять файлы и папки, копировать их, менять атрибуты. 🔍 Применение: Управление файлами в проектах. Автоматизация работы с файлами. Обработка ошибок при работе с файлами.
 
import os
import shutil

# Создание директории
os.makedirs('my_folder', exist_ok=True)

# Копирование файла
shutil.copy('source.txt', 'destination.txt')

# Удаление директории
shutil.rmtree('my_folder')
🔑 Результат выполнения: Директория my_folder создается, файл копируется, а затем директория удаляется.

Функциональный финал Что напечатает код?
 
def func(x):
    return x * 2

func = lambda x: x + 2
print(func(10)) 
❓ Вопрос: Какой результат будет напечатан? Почему? 📌 Подсказка: Что происходит с определением функции в Python?

Модуль pathlib для работы с путями 🛤️ Модуль pathlib предоставляет удобный интерфейс для работы с путями файлов и директорий
Модуль pathlib для работы с путями 🛤️ Модуль pathlib предоставляет удобный интерфейс для работы с путями файлов и директорий. Это позволяет легко манипулировать путями, определять их компоненты и выполнять операции с ними. 🔍 Применение: Работа с путями к файлам. Проверка существования файлов и директорий. Обработка путей в кросс-платформенных приложениях.
 
from pathlib import Path

# Определяем путь
path = Path("example_directory")

# Проверяем, существует ли директория
if not path.exists():
    path.mkdir()

# Проверяем тип файла
if path.is_dir():
    print("It is a directory.")
🔑 Результат выполнения: Если директория не существует, она будет создана.

Анализ данных с помощью pandas 📉 Библиотека pandas — это мощный инструмент для анализа данных в Python. Он позволяет работат
Анализ данных с помощью pandas 📉 Библиотека pandas — это мощный инструмент для анализа данных в Python. Он позволяет работать с таблицами (DataFrame), выполнять статистический анализ и манипуляции с данными. 🔍 Применение: 1. Обработка и анализ данных. 2. Загрузка и экспорт данных в различные форматы (CSV, Excel, SQL).

import pandas as pd

# Создаем DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# Получаем статистику
print(df.describe())

# Сохранение в CSV
df.to_csv('data.csv', index=False)
🔑 Результат выполнения:
        Age
count   3.0
mean   30.0
std     5.0
min    25.0
25

📂 Запуск HTTP-сервера в одной строке Нужно быстро запустить сервер для статических файлов? Python это умеет: python -m http.
📂 Запуск HTTP-сервера в одной строке Нужно быстро запустить сервер для статических файлов? Python это умеет:
 
python -m http.server 8080 
📌 Что делает? Открывает доступ к текущей папке по адресу http://localhost:8080/. Удобно для тестирования простых HTML/JS/CSS файлов.

Чему равен mystery(5)?
 
def mystery(n):
    if n == 0:
        return 0
    return n + mystery(n - 1) 
❓ Вопрос: Каков результат выполнения mystery(5)? Что произойдет, если передать большое число? 📌 Подсказка: Вспомните ограничения рекурсии в Python.

🌀 Модуль dataclasses Создавать классы вручную с полями, конструктором и repr скучно. Модуль dataclasses делает это за вас. П
🌀 Модуль dataclasses Создавать классы вручную с полями, конструктором и repr скучно. Модуль dataclasses делает это за вас. Пример:
 
from dataclasses import dataclass

@dataclass
class Point:
    x: int
    y: int

p = Point(1, 2)
print(p)  # Point(x=1, y=2)
💡 Преимущества: 1. Генерация конструктора и методов (__init__, repr, __eq__). 2. Удобно для хранения данных.

Модули functools и itertools ⚙️ Эти модули дают вам мощные инструменты для работы с функциями и итераторами. Это настоящее во
Модули functools и itertools ⚙️ Эти модули дают вам мощные инструменты для работы с функциями и итераторами. Это настоящее волшебство Python! ✨ 🔍 functools: 1. Каррирование (например, functools.partial). 2. Кэширование (например, functools.lru_cache).itertools: 3. Ленивые итераторы (например, itertools.chain, itertools.islice). 4. Комбинаторика (например, itertools.permutations).

from functools import lru_cache
from itertools import permutations

@lru_cache(maxsize=None)
def fib(n):
    if n < 2:
        return n
    return fib(n-1) + fib(n-2)

print(list(permutations([1, 2, 3])))
🔑 Результат выполнения:
 
[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]
🎥 Подробнее: https://www.youtube.com/watch?v=Qu3dThVy6KQ

Менеджеры контекста 📂 Менеджеры контекста — это отличная возможность управлять ресурсами (например, файлами или подключениям
Менеджеры контекста 📂 Менеджеры контекста — это отличная возможность управлять ресурсами (например, файлами или подключениями), автоматически освобождая их после завершения работы. 👨‍💻 🔍 Применение: 1. Работа с файлами. 2. Подключение к базам данных. 3. Потоки и блокировки.
 
class FileManager:
    def __init__(self, filename, mode):
        self.file = open(filename, mode)

    def __enter__(self):
        return self.file

    def __exit__(self, exc_type, exc_value, traceback):
        self.file.close()

with FileManager("test.txt", "w") as f:
    f.write("Hello, world!")
🔑 Результат выполнения: Файл "test.txt" создается и в нем появляется строка Hello, world!.

Челлендж: «Число-палиндром» Включаем математику и алгоритмы! 🔢 Суть задачи: Напишите функцию, которая находит ближайшее к за
Челлендж: «Число-палиндром» Включаем математику и алгоритмы! 🔢 Суть задачи: Напишите функцию, которая находит ближайшее к заданному числу положительное число-палиндром. Пример:
 
Input: 123 
 
Output: 121   
✅ Усложнение для профи: 1. Сделайте так, чтобы функция работала с большими числами. 2. Для любителей математики: добавьте возможность искать сразу N ближайших палиндромов. 💡 Подсказки: 1. Палиндром — это число, которое одинаково читается слева направо и справа налево. Например, 121 или 1221. 2. Попробуйте преобразовать число в строку, чтобы проверить его на палиндромность. 3. Для ускорения поиска используйте цикл и проверку каждого числа. 4. Сможете найти элегантное решение? Дерзайте и делитесь! 👨‍💻👩‍💻

Игра с числами Что будет напечатано? a, b = 1, 2 a, b = b, a + b a, b = b, a + b print(a, b) ❓ Вопрос: Какой будет результат?
Игра с числами Что будет напечатано?
 
a, b = 1, 2
a, b = b, a + b
a, b = b, a + b
print(a, b) 
❓ Вопрос: Какой будет результат? Сможете догадаться без запуска? 📌 Подсказка: Попробуйте вручную вычислить значения переменных.