summaryrefslogtreecommitdiff
path: root/PYTHON/Библиотеки для ленивых.md
blob: 66f7096c6b9255b523ea77359be8ed8b7dd2d0f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
👩‍💻 когда хочется больше делать с меньшими усилиями

Каждый программист знает: кодить можно быстрее, если использовать проверенные решения. В Python куча библиотек, которые делают работу за тебя — не нужно изобретать велосипед.

 1. **`pathlib` — путь к лёгкости работы с путями**

Ты всё ещё юзаешь os.path? Пора остановиться. pathlib — это объектно-ориентированная альтернатива, которая позволяет работать с путями проще и чище.

```python
from pathlib import Path

p = Path("/home/user/docs")
print(p / "file.txt")  # /home/user/docs/file.txt
```

👉 Это значительно читаемее и проще, чем старые подходы с os.path.

 2. **`requests` — HTTP без головной боли**

HTTP-запросы — одна из самых часто используемых операций, но с ними можно запутаться. requests делает этот процесс понятным и удобным.

```python
import requests

response = requests.get('https://api.example.com/data')
print(response.json())
```

👉 Всё! Нет лишнего кода, никаких ненужных сложностей.

 3. **`pydantic` — валидация данных с минимальными усилиями**

Если тебе нужно проверять данные, а писать вручную кучу кода — не хочется, используй pydantic. Эта библиотека позволяет быстро проверять и валидировать данные, обрабатывая JSON, параметры и модели.

```python
from pydantic import BaseModel

class User(BaseModel):
    name: str
    age: int

user = User(name="Alice", age=30)
print(user)
```

👉 Валидация без лишних усилий и работы с типами. Всё автоматически.

 4. **`attrs` — создание классов без ненужного кода**
 5. 
Если ты создаёшь классы, но не хочешь писать лишние методы вроде __init__, __repr__, __eq__, то тебе в помощь attrs. Эта библиотека позволяет легко создавать классы с автоматическим заполнением всех необходимых методов.

```python
import attr

@attr.s
class Point:
    x = attr.ib()
    y = attr.ib()

p = Point(3, 4)
print(p)  # Point(x=3, y=4)
```

👉 Быстро, удобно, без лишних усилий.

 5. **`click` — консольные приложения без мук**

Создание CLI-интерфейсов может быть утомительным, но с click это делается быстро и без боли. Ты можешь создавать простые и мощные консольные команды с минимальными усилиями.

```python
import click

@click.command()
@click.argument('name')
def greet(name):
    click.echo(f"Hello, {name}!")

greet()
```

👉 Лёгкая настройка, удобная обработка аргументов и флагов.

🗣️ **Запомни**: используй библиотеки, чтобы минимизировать шаблонный код, повысить читаемость и улучшить производительность разработки.