# Встроенные функции

В**строенные функции Python** — это функции, которые **не требуют импорта** и доступны в любом месте кода. Они часто используются в автотестах для работы с данными, проверок и преобразований.

***

### **1. Основные категории встроенных функций**

#### **1.1 Работа с типами данных**

| Функция   | Описание                               | Пример                         |
| --------- | -------------------------------------- | ------------------------------ |
| `int()`   | Преобразует в целое число              | `int("10")` → 10               |
| `float()` | Преобразует в число с плавающей точкой | `float("3.14")` → 3.14         |
| `str()`   | Преобразует в строку                   | `str(10)` → "10"               |
| `bool()`  | Преобразует в булево значение          | `bool(0)` → False              |
| `list()`  | Преобразует в список                   | `list("abc")` → \['a','b','c'] |
| `tuple()` | Преобразует в кортеж                   | `tuple([1,2])` → (1,2)         |
| `set()`   | Преобразует в множество                | `set([1,2,2])` → {1,2}         |

***

#### **1.2 Работа с коллекциями**

| Функция       | Описание                        | Пример                                            |
| ------------- | ------------------------------- | ------------------------------------------------- |
| `len()`       | Длина объекта                   | `len([1,2,3])` → 3                                |
| `max()`       | Максимальное значение           | `max([1,3,2])` → 3                                |
| `min()`       | Минимальное значение            | `min([1,3,2])` → 1                                |
| `sum()`       | Сумма элементов                 | `sum([1,2,3])` → 6                                |
| `sorted()`    | Отсортированный список          | `sorted([3,1,2])` → \[1,2,3]                      |
| `reversed()`  | Итератор в обратном порядке     | `list(reversed([1,2,3]))` → \[3,2,1]              |
| `enumerate()` | Индексация элементов            | `list(enumerate(['a','b']))` → \[(0,'a'),(1,'b')] |
| `zip()`       | Объединение последовательностей | `list(zip([1,2],[3,4]))` → \[(1,3),(2,4)]         |

***

#### **1.3 Работа с логикой**

| Функция   | Описание                                | Пример                      |
| --------- | --------------------------------------- | --------------------------- |
| `all()`   | True, если все элементы истинны         | `all([True,1,2])` → True    |
| `any()`   | True, если хотя бы один элемент истинен | `any([0, False, 3])` → True |
| `abs()`   | Модуль числа                            | `abs(-5)` → 5               |
| `round()` | Округление числа                        | `round(3.14159,2)` → 3.14   |

***

#### **1.4 Работа с объектами и памятью**

| Функция        | Описание                         | Пример                            |
| -------------- | -------------------------------- | --------------------------------- |
| `type()`       | Тип объекта                      | `type(10)` → \<class 'int'>       |
| `id()`         | Уникальный идентификатор объекта | `id(10)` → 140711234567824        |
| `isinstance()` | Проверка типа                    | `isinstance(10,int)` → True       |
| `dir()`        | Атрибуты объекта                 | `dir([])` → список методов списка |
| `help()`       | Документация по объекту          | `help(list)`                      |

***

#### **1.5 Работа с функциями**

| Функция                   | Описание                             | Пример                                        |
| ------------------------- | ------------------------------------ | --------------------------------------------- |
| `map(func, iterable)`     | Применяет функцию к каждому элементу | `list(map(str,[1,2]))` → \['1','2']           |
| `filter(func, iterable)`  | Фильтрует элементы по условию        | `list(filter(lambda x:x>1,[1,2,3]))` → \[2,3] |
| `sum()`, `all()`, `any()` | Уже перечислены выше                 | -                                             |
| `eval()`                  | Выполнение строки как Python кода    | `eval("2+3")` → 5                             |
| `sorted()`                | Уже перечислено                      | -                                             |

***

### **2. Применение в автотестах**

* **Проверка длины коллекций**

```python
response = ["user1","user2"]
assert len(response) == 2
```

* **Фильтрация данных**

```python
data = [0, 1, 2, 3]
filtered = list(filter(lambda x: x>1, data))
assert filtered == [2,3]
```

* **Сортировка и сравнение**

```python
scores = [10, 5, 7]
assert sorted(scores) == [5,7,10]
```

* **Динамическая проверка типов**

```python
assert isinstance("Alice", str)
```

* **Логирование и дебаг**

```python
lst = [1,2,3]
print(dir(lst))  # список методов списка
help(list)       # документация по спискам
```

***

💡 **Вывод:**

* Встроенные функции Python — это быстрый и удобный способ **работать с данными, коллекциями, объектами и логикой**, без необходимости импортировать дополнительные модули.
* Они часто встречаются в **автотестах для проверки данных, логики и генерации отчетов**.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kaze.gitbook.io/qa-theory/osnovy-programmirovaniya-na-python/vstroennye-funkcii.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
