Работал ли с валидацией данных
Python
Middle
Без компании
Работал ли с валидацией данных
Ответы
Да, работал. Валидация данных — это проверка их корректности перед обработкой. В Python для этого можно использовать:
- **Встроенные проверки** (условия, регулярные выражения):
```
if not isinstance(value, int):
raise ValueError("Expected integer")
```
- **Библиотеки** (`pydantic`, `marshmallow`, `cerberus`):
```
from pydantic import BaseModel, ValidationError
class User(BaseModel):
name: str
age: int
try:
user = User(name="Alice", age="30") # Будет преобразовано в int
except ValidationError as e:
print(e)
```
- **ORM-валидацию** (например, в Django или SQLAlchemy).
Особое внимание уделяю:
- Проверке типов и форматов (email, URL).
- Обработке граничных случаев (пустые строки, None).
- Кастомным правилам (например, пароль >= 8 символов).
Пример с регулярными выражениями для email:
```
import re
def validate_email(email):
pattern = r'^[\w\.-]+@[\w\.-]+\.\w+$'
return bool(re.match(pattern, email))
```
Всегда учитываю баланс между строгостью валидации и UX.