# Встроенные типы данных

### **1. Основные встроенные типы**

#### **1.1 Числа**

| Тип       | Пример       | Описание                 |
| --------- | ------------ | ------------------------ |
| `int`     | `x = 10`     | Целые числа              |
| `float`   | `y = 3.14`   | Числа с плавающей точкой |
| `complex` | `z = 2 + 3j` | Комплексные числа        |

***

#### **1.2 Логический тип**

* `bool` — принимает значения `True` или `False`

```python
is_active = True
has_error = False
```

***

#### **1.3 Строки**

* `str` — последовательность символов

```python
name = "Alice"
text = 'Hello, World!'
```

***

#### **1.4 Последовательности**

| Тип     | Пример      | Особенности              |
| ------- | ----------- | ------------------------ |
| `list`  | `[1, 2, 3]` | Изменяемый список        |
| `tuple` | `(1, 2, 3)` | Неизменяемый кортеж      |
| `range` | `range(5)`  | Последовательность чисел |

***

#### **1.5 Множества**

| Тип         | Пример               | Особенности                          |
| ----------- | -------------------- | ------------------------------------ |
| `set`       | `{1,2,3}`            | Неупорядоченный, уникальные элементы |
| `frozenset` | `frozenset({1,2,3})` | Неизменяемое множество               |

***

#### **1.6 Словари**

* `dict` — хранит пары ключ-значение

```python
user = {"username": "alice", "password": "123"}
print(user["username"])  # "alice"
```

***

#### **1.7 None**

* Специальный тип `NoneType` — отсутствие значения

```python
x = None
```

***

### **2. Примеры использования в автотестах**

* **Списки**: хранение тестовых данных

```python
users = ["user1", "user2", "user3"]
for u in users:
    assert login(u, "123")
```

* **Словари**: обработка JSON/API ответов

```python
response = {"status": "ok", "data": {"id": 1}}
assert response["status"] == "ok"
```

* **Множества**: проверка уникальности элементов

```python
ids = [1,2,3,3]
assert len(ids) != len(set(ids))  # дубликат найден
```

* **None**: проверка пустых значений

```python
result = get_value()
assert result is not None
```

***

💡 **Вывод:**

* Python имеет **числа, строки, логические значения, последовательности, множества, словари и None**.
* Знание встроенных типов важно для **обработки данных в тестах и написания устойчивых автотестов**.


---

# 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-tipy-dannykh.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.
