> For the complete documentation index, see [llms.txt](https://kaze.gitbook.io/qa-theory/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kaze.gitbook.io/qa-theory/osnovy-programmirovaniya-na-python/obyasnite-ispolzovanie-funkcii-help-i-dir.md).

# Объясните использование функций 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()` = быстро видим, какие методы и атрибуты есть.
* Вместе помогают **быстро разбираться с библиотеками и объектами во время автотестов**.
