Небольшая подборка не очень популярных, но полезных библиотек для анализа данных
PySheets - предоставляет пользовательский интерфейс для работы с электронными таблицами на Python.
Используй Pandas, создавай диаграммы, импортируй таблицы Excel, анализируй данные и создавай отчеты.
py2wasm - преобразует программы и данные на Python в WebAssembly и запускает их в ~3 раза быстрее.
databonsai - библиотека на Python, которая использует LLM для задач очистки данных, таких как категоризация, преобразование и извлечение.
#py #python #dev
Please open Telegram to view this post
VIEW IN TELEGRAM
DE
TDD - это не про тесты. Это про проектирование кода через маленькие, проверяемые шаги. ▶️ 📕 Что такое TDD - Test-Driven Development? Это подход, при котором ты сначала пишешь тест, потом минимально необходимую реализацию, чтобы он прошёл, и только потом…
Спасибо за огоньки, лови пример TDD.
Сначала напишешь тест, потом минимальный код, потом рефакторинг. Всё сделаешь малыми шагами.
〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️
Допустим, ты хочешь реализовать функцию
🧪 Шаг 1. Пишешь провальный тест (Red)
Тест упадёт, потому что
〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️
✔️ Шаг 2. Пишешь минимальную реализацию (Green)
Теперь
〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️
🧼 Шаг 3. Добавляешь ещё тестов и улучшаешь код (Refactor)
Теперь текущая реализация
〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️
⚙️ Шаг 4. Пишешь реальную реализацию, чтобы пройти все тесты
✔️ Все тесты зелёные.
🙂 🙂 🙂 🙂 🙂 🙂 🙂 🙂
🧠 Что ты получил?
🔘 Писал по одному тесту, каждый раз с минимальными правками кода
🔘 Итерации были маленькими и осмысленными
🔘 Получил рабочую и протестированную функцию
И не пришлось гадать, где баг, т.к. ты строил поведение заранее.
*️⃣ *️⃣ *️⃣ *️⃣ *️⃣ *️⃣ *️⃣ *️⃣
Хочешь посмотреть на организацию тестов с помощью параметризации pytest?
Накидай ещё огоньков🙃
#TDD #py
Сначала напишешь тест, потом минимальный код, потом рефакторинг. Всё сделаешь малыми шагами.
Допустим, ты хочешь реализовать функцию
is_prime(n)
, которая определяет, простое ли число.# test_math_utils.py
import pytest
from math_utils import is_prime
def test_two_is_prime():
assert is_prime(2) is True
Тест упадёт, потому что
math_utils.py
и is_prime
ещё не существуют.# math_utils.py
def is_prime(n: int) -> bool:
return True # пока просто чтобы тест прошёл
Теперь
test_two_is_prime
пройдёт, но код заведомо неправильный.# test_math_utils.py
import pytest
from math_utils import is_prime
def test_two_is_prime():
assert is_prime(2) is True
def test_three_is_prime():
assert is_prime(3) is True
def test_four_is_not_prime():
assert is_prime(4) is False
def test_one_is_not_prime():
assert is_prime(1) is False
Теперь текущая реализация
return True
уже не прокатит - тесты ломаются.# math_utils.py
def is_prime(n: int) -> bool:
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
И не пришлось гадать, где баг, т.к. ты строил поведение заранее.
Хочешь посмотреть на организацию тестов с помощью параметризации pytest?
Накидай ещё огоньков
#TDD #py
Please open Telegram to view this post
VIEW IN TELEGRAM