# Что такое строка документации (docstring)?

### **1. Что такое docstring**

* **Docstring** — это **строка документации**, которая описывает модуль, класс или функцию.
* Она **помогает понять, что делает код**, без необходимости смотреть его реализацию.
* В Python docstring оформляется с помощью **тройных кавычек** (`"""…"""`).

***

### **2. Синтаксис**

```python
def функция():
    """Описание того, что делает функция"""
    pass
```

Примеры:

```python
def add(a, b):
    """Возвращает сумму двух чисел a и b."""
    return a + b

class User:
    """Класс для работы с пользователями системы"""
    def __init__(self, name):
        """Инициализация пользователя с именем name"""
        self.name = name
```

***

### **3. Где используется**

* В начале **модуля**, **класса**, **функции**.
* Для генерации **автоматической документации** (`help()`, Sphinx, pydoc).

```python
help(add)
```

**Вывод:**

```
Help on function add in module __main__:

add(a, b)
    Возвращает сумму двух чисел a и b.
```

***

### **4. Правила написания docstring (PEP 257)**

* Использовать **тройные кавычки**.
* Однострочные docstring — короткое описание, без точки в конце:

  ```python
  """Возвращает сумму двух чисел"""
  ```
* Многострочные docstring:

  ```python
  """
  Выполняет подключение к базе данных.
  Параметры:
      host: адрес сервера
      port: порт подключения
  """
  ```
* Начало с заглавной буквы.

***

### **5. Применение в автоматизации тестирования**

* Документирование **тестов**, функций-утилит, Page Object:

```python
def login(username, password):
    """Выполняет вход на сайт с указанными username и password"""
    pass
```

* Позволяет использовать `help(login)` или автоматически генерировать документацию по тестам.


---

# 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/chto-takoe-stroka-dokumentacii-docstring.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.
