Встречается на собеседованиях • сегодня

Какие знаешь правила реализации валидации

Валидация данных в Python обычно реализуется с помощью:

  1. Встроенных проверок (условия if/else):
python
if not isinstance(value, int):
    raise ValueError("Value must be an integer")
  1. Использования assert (для отладки, не в продакшене):
python
assert len(data) > 0, "Data cannot be empty"
  1. Библиотек валидации (pydantic, marshmallow, cerberus):
python
from pydantic import BaseModel, ValidationError

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

try:
user = User(name="Alice", age="30") # Ошибка: age не int
except ValidationError as e:
print(e)

text

4. **Декораторов** для функций:  
```python
def validate_input(func):
    def wrapper(*args):
        if any(arg < 0 for arg in args):
            raise ValueError("Negative values not allowed")
        return func(*args)
    return wrapper
  1. Регулярных выражений (re) для строк:
python
import re
if not re.match(r'^[\w\.-]+@[\w\.-]+$', email):
    raise ValueError("Invalid email")

Лучшие практики:

  • Проверяйте данные на границах системы (API, БД).
  • Используйте кастомные исключения для ясности.
  • Избегайте избыточных проверок в бизнес-логике.
  • Документируйте ожидаемые форматы данных.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы