> For the complete documentation index, see [llms.txt](https://exceedteam.gitbook.io/python-and-back-end/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://exceedteam.gitbook.io/python-and-back-end/python-language/osnovy/peremennye-i-konstanty.md).

# Переменные и константы

### Имена идентификаторов

Переменные – это частный случай идентификаторов. *Идентификаторы* – это имена, присвоенные *чему-то* для его обозначения. При выборе имён для идентификаторов необходимо соблюдать следующие правила:

* Первым символом идентификатора должна быть буква из алфавита (символ ASCII в верхнем или нижнем регистре, или символ Unicode), а также символ подчёркивания (“\_”).
* Остальная часть идентификатора может состоять из букв (символы ASCII в верхнем или нижнем регистре, а также символы Unicode), знаков подчёркивания (“\_”) или цифр (0-9).
* Имена идентификаторов чувствительны к регистру. Например, `myname` и `myName` – это **не** одно и то же. Обратите внимание на “`n`” в нижнем регистре в первом случае и “`N`” в верхнем во втором.
* Примеры *допустимых* имён идентификаторов: `i`, `__my_name`, `name_23`, `a1b2_c3` и `любые_символы_utf8_δξѪђёўЩӆΞέά`.
* Примеры *недопустимых* имён идентификаторов: `2things`, `здесь есть пробелы`, `my-name`, `>a1b2_c3` и `"это_в_кавычках"`.

### Типы данных

Переменные могут хранить значения разных типов, называемых **типами данных**. Основными типами являются числа, строки, и свои собственные типы при помощи созданные с помощью классов.

### Объекты

Помните, Python рассматривает всё, что есть в программе, как *объекты*. Имеется в виду, в самом общем смысле. Вместо того, чтобы говорить “*нечто*”, мы говорим “*объект*”.

Замечание для программистов в объектно-ориентированном стиле&#x20;

Python строго объектно ориентирован в том смысле, что объектом является всё, включая числа, строки и функции.

#### Пример: Использование переменных и констант

```python
# Имя файла : var.py

i = 5
print(i)
i = i + 1
print(i)

s = '''Это многострочная строка.
Это вторая её строчка.'''
print(s)
```

**Вывод:**

```python
$ python var.py
5
6
Это многострочная строка.
Это вторая её строчка.
```

Переменные используются простым присваиванием им значений. Никакого предварительного объявления или определения типа данных не требуется/применяется.

### Логические и физические строки

Физическая строка – это то, что вы *видите*, когда набираете программу. Логическая строка – это то, что *Python видит* как единое предложение. Python неявно предполагает, что каждой *физической строке* соответствует *логическая строка*.

Примером логической строки может служить предложение `print('Привет, Мир!')` – если оно на одной строке (как вы видите это в редакторе), то эта строка также соответствует физической строке.

Python неявно стимулирует использование по одному предложению на строку, что облегчает чтение кода.

Чтобы записать более одной логической строки на одной физической строке, вам придётся явно указать это при помощи точки с запятой (`;`), которая отмечает конец логической строки/предложения. Например,

```python
i = 5
print(i)
```

то же самое, что

```python
i = 5;
print(i);
```

и то же самое может быть записано в виде

```python
i = 5; print(i);
```

или даже

```python
i = 5; print(i)
```

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

Можно использовать более одной физической строки для логической строки, но к этому следует прибегать лишь в случае очень длинных строк. Пример написания одной логической строки, занимающей несколько физических строк, приведён ниже. Это называется **явным объединением строк**.

```python
s = 'Это строка. \
Это строка продолжается.'
print(s)
```

Это даст результат:

```python
Это строка. Это строка продолжается.
```

Аналогично,

```python
print\
(i)
```

то же самое, что и

```python
print(i)
```

Иногда имеет место неявное подразумевание, когда использование обратной косой черты не обязательно. Это относится к случаям, когда в логической строке есть открывающаяся круглая, квадратная или фигурная скобка, но нет закрывающейся. Это называется **неявным объединением строк**.&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://exceedteam.gitbook.io/python-and-back-end/python-language/osnovy/peremennye-i-konstanty.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.
