# Объясните использование функций help() и dir()

### **1. `help()`**

* Предназначена для **получения документации** о любом объекте, модуле, функции, классе или методе.
* Выводит **docstring**, список методов и атрибутов.

#### **Примеры**

```python
# Получить документацию по встроенной функции
help(len)

# Получить документацию по классу
help(str)

# Получить документацию по вашему модулю
import os
help(os)
```

**Применение в автотестах:**

* Быстро узнать доступные методы объекта Selenium, API ответов, стандартных библиотек.

***

### **2. `dir()`**

* Возвращает **список атрибутов и методов объекта**.
* Не показывает документацию, только имена.

#### **Примеры**

```python
# Методы и атрибуты строки
print(dir("Hello"))

# Методы и атрибуты списка
print(dir([1,2,3]))

# Методы и атрибуты модуля
import os
print(dir(os))
```

**Применение в автотестах:**

* Узнать, какие методы доступны у объекта (например, у элемента Selenium `WebElement`).
* Быстро проверить структуру ответа API (если это объект Python).

***

### **3. Сравнение `help()` и `dir()`**

| Функция  | Что делает                            | Пример применения в тестах                                    |
| -------- | ------------------------------------- | ------------------------------------------------------------- |
| `help()` | Выводит документацию, docstring       | Понимание методов Selenium/WebElement или сторонних библиотек |
| `dir()`  | Показывает список атрибутов и методов | Проверка доступных методов объекта в runtime                  |

***

#### **4. Пример сочетания**

```python
import math

print(dir(math))    # список функций модуля math
help(math.sqrt)     # документация по функции sqrt
```

***

💡 **Вывод:**

* `help()` = учимся использовать объект, смотрим документацию.
* `dir()` = быстро видим, какие методы и атрибуты есть.
* Вместе помогают **быстро разбираться с библиотеками и объектами во время автотестов**.


---

# 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/obyasnite-ispolzovanie-funkcii-help-i-dir.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.
