📦 Репозиторий занятия 02

Урок 02. Базовые типы данных, работа с функциями

Как работать с репозиторием

Каждая карточка говорит, о чём файл, что он выводит и что в нём искать. Код виден прямо здесь: его можно скопировать одной кнопкой, скачать файл или открыть его целиком.

Маршрут изучения

  1. Прочитайте описание: по нему уже понятно, о чём файл и что он выведет.
  2. Предскажите вывод: сравните своё предположение со строкой «Что выводит».
  3. Запустите: скачайте файл или скопируйте код кнопкой и выполните его у себя.
  4. Измените: поменяйте одно условие или значение и объясните новый результат.

Файлы: рекомендуемый порядок

1
MarkdownРазбор концепции72 строк

Функции print() и input(): вывод и ввод данных

less_02__print_input_int_float_str_bool/theory_01__print_input.md

Разбирает полную сигнатуру print(*objects, sep=' ', end='\n', file=sys.stdout) по каждому параметру отдельно: множество объектов через запятую, разделитель sep, символ окончания end и параметр file (в том числе вывод в sys.stderr и запись в файл через open()). Вторая часть — про input(): подчёркивает, что функция всегда возвращает строку и блокирует выполнение до нажатия Enter.

  • print(*objects) — вывод нескольких значений через запятую
  • sep='-' — свой разделитель между объектами
  • end=', ' — символ в конце строки вместо перевода строки
  • file=sys.stderr и file=f (запись в файл через with open())
  • input([prompt]) — всегда возвращает str, ждёт Enter
Показать начало файла (72 строк всего)
## функция `print()` 

Функция управляет выводом (по умолчанию - вывод на экран терминала)

### Синтаксис
```python
print(*objects, sep=' ', end='\n', file=sys.stdout)
```


1. **`*objects`**

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

```python
print("Hello", 123, [1, 2, 3])
# Вывод: Hello 123 [1, 2, 3]
```

2. **`sep`** *(separator)*

   * Разделитель между объектами `*objects`, по умолчанию пробел `' '`.

```python
print("2025", "08", "14", sep="-")
# Вывод: 2025-08-14
```

3. **`end`**

   * Добавляет символ в конце строки (по умолчанию перевод строки `'\n'`).

```python
print("Hello", end=", ")
print("World", end="!")
# Вывод: Hello, World!
```

4. **`file`**  

   * Куда отправлять вывод (по умолчанию — `sys.stdout`, т.е. на экран, печать белым шрифтом).
   * Можно отправить в `sys.stderr`
   * Или в файл (но только внутри функции `open()`)

```python
import sys
print("Ошибка", file=sys.stderr)  # Текст выводится красным шрифтом


with open('myfile.txt', 'w', encoding='utf-8') as f:
    print("Вывод текста в файл 'myfile.txt' в текущем каталоге", file=f) 
```

## функция `input()`

Используется для чтения данных, введённых пользователем** с клавиатуры.

---
…
Проверьте себя: Что вернёт input(), если пользователь просто нажал Enter, ничего не введя, и как это отличается от того, что вернул бы print() без аргументов?
2
MarkdownРазбор концепции84 строк

Типы данных int, float, str, bool, None и функция type()

less_02__print_input_int_float_str_bool/theory_02__int_float_str_bool__type.md

Даёт определения пяти базовых типов Python с примерами значений и отдельно разбирает четыре способа записи строк — одинарные, двойные и оба варианта тройных кавычек для многострочного текста и docstring. В конце — сводная таблица типов и примеры вызова type() для каждого из них, включая type(None).

  • int, float — числовые типы с примерами
  • str — четыре варианта кавычек: ', ", ''', """
  • bool — True/False, None — отсутствие значения
  • Таблица «Тип / Что хранит / Примеры»
  • type(x) для int, float, str, bool, None → <class '...'>
Показать начало файла (84 строк всего)

## **`int`** — целое число, без десятичной части.
  Примеры: `5`, `-10`, `0`.

## **`float`** — число с десятичной частью (вещественное число).
  Примеры: `3.14`, `-0.5`, `2.0`.

##  **`str`** — строка, текст, который берётся в кавычки.
  Примеры: `"Привет"`, `'123'`, `"True"`.

В Python есть четыре способа писать строки с помощью кавычек:

#### 1. **Одинарные кавычки**: `'текст'`
   Пример: `'Привет'`

#### 2. **Двойные кавычки**: `"текст"`
   Пример: `"Мир"`

#### 3. **Тройные одинарные кавычки**: `'''текст'''`
   Пример:

   ```python
   '''Это
   многострочная
   строка'''
   ```

#### 4. **Тройные двойные кавычки**: `"""текст"""`
   Пример:

   ```python
   """Можно писать
   несколько строк
   подряд"""
   ```

Тройные кавычки обычно используют для многострочных строк и docstring (комментариев-функций).

##  **`bool`** - логический тип, который может быть только `True` (истина) или `False` (ложь).
   Примеры: True, False
   
Добавим ещё один важный тип данных — **`None`**:

* **`None`** — специальное значение, которое означает **отсутствие значения** или **ничего**.



## Таблицы типов данных


| Тип     | Что хранит                | Примеры         |
| ------- | ------------------------- | --------------- |
| `int`   | Целые числа               | 5, -10, 0       |
| `float` | Числа с десятичной частью | 3.14, -0.5, 2.0 |
| `str`   | Текст (строки)            | "Привет", '123' |
| `bool`  | Логическое значение       | True, False     |
| `None`  | Отсутствие значения       | None            |


---
…
Проверьте себя: Почему для тройных кавычек используют именно многострочные строки и docstring, а не обычный однострочный текст?
3
MarkdownРазбор концепции41 строк

Escape-символ \: как вставить кавычку внутрь строки

less_02__print_input_int_float_str_bool/theory_03__escape_symbol.md

Объясняет проблему: символ-ограничитель строки (кавычка) внутри самой строки обрывает её раньше времени и вызывает ошибку. Решение — экранирование через \, которое заставляет интерпретатор воспринимать следующий символ буквально. Показаны примеры для двойных и одинарных кавычек внутри строк того же типа, а также перечислены другие управляющие escape-последовательности.

  • quote = "Он сказал: \"Привет!\"" — экранирование двойных кавычек
  • quote2 = 'Это \'пример\' экранирования' — экранирование одинарных
  • \n — перевод строки, \t — табуляция, \\ — сама косая черта
Показать начало файла (41 строк всего)


В Python некоторые символы имеют **специальное значение** и используются для управления вводом и выводом данных.  
Например, кавычки (`'` и `"`) служат для **обозначения начала и конца строки**.   
Без них Python не сможет понять, где строка начинается и заканчивается.

Однако иногда возникает ситуация, когда нужно использовать сам символ кавычек **внутри строки**, не нарушая её границ.   
Если вставить кавычку в середину текста без экранирования, Python воспримет её как конец строки и выдаст ошибку.

Для решения этой проблемы существует **escape-символ** `\` (обратная косая черта).   
Он сообщает интерпретатору:

> «Следующий за мной символ нужно воспринимать буквально, а не как управляющий».

Примеры:

```python
# Используем двойные кавычки внутри строки, ограниченной двойными кавычками
quote = "Он сказал: \"Привет!\""
print(quote)
# Вывод: Он сказал: "Привет!"

# Используем одинарные кавычки внутри строки, ограниченной одинарными кавычками
quote2 = 'Это \'пример\' экранирования'
print(quote2)
# Вывод: Это 'пример' экранирования
```

---

Escape-символ `\` полезен не только для кавычек, но и для других **специальных символов управления**:

* `\n` – перевод строки (новая строка)
* `\t` – горизонтальная табуляция
* `\\` – сама обратная косая черта

---
Таким образом, символ `\` позволяет:
 - встраивать в строки символы, которые обычно имеют особое значение, 
 - и управлять форматированием вывода, не нарушая синтаксис Python.
Проверьте себя: Нужно ли экранировать двойную кавычку внутри строки, ограниченной одинарными кавычками, и почему?
4
MarkdownРазбор концепции15 строк

Как отключить AI Assistant и умное автодополнение в PyCharm

less_02__print_input_int_float_str_bool/theory_04__how_to_disable_AI_andautocompletion.md

Организационная инструкция, а не материал по языку: пошагово показывает, где в настройках PyCharm выключить плагин AI Assistant (Settings → Plugins) и «умное» построчное автодополнение (Settings → Editor → General → Inline Completion). Нужна на старте курса, чтобы студенты писали код сами, а не копировали подсказки ассистента.

  • File → Settings → Plugins → AI Assistant → Disable
  • Settings → Editor → General → Inline Completion → снять галочку Full Line completion
  • Оба шага требуют перезапуска PyCharm
Показать начало файла (15 строк всего)
### Как отключить плагин AI Assistant

* Нажмите "Шестерёнку": `File → Settings` (или `Ctrl + Alt + S`)
* Перейдите в Plugins
* Найдите AI Assistant (JetBrains AI)
* Нажмите Disable (или отожмите галочку)
* ❗ Перезапустите PyCharm


### Как отключить "умное" автодополнение

* `Settings → Editor → General → Inline Completion`
* Уберите галочку с поля:
  * `Enable local Full Line completion suggestions`
* ❗ Перезапустите PyCharm
Проверьте себя: Почему на этапе изучения основ языка полезно отключить именно построчное автодополнение, а не только AI-чат в IDE?