Skip to content

Commit 688b806

Browse files
committed
update content
Signed-off-by: Kirill Mokevnin <[email protected]>
1 parent 8fe93dd commit 688b806

File tree

12 files changed

+198
-78
lines changed

12 files changed

+198
-78
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,40 @@
1-
2-
Представьте, что мы задали следующую программу:
1+
Представьте, что у нас есть такая программа:
32

43
```python
54
x = 'Father!'
65
print(x)
76
```
87

9-
С подобной программой мы уже работали, но сейчас в ней изменилось имя переменной на `x`.
8+
С технической точки зрения — всё работает. Мы уже видели похожие примеры, но здесь используется переменная с названием `x`. Плохие имена мешают читать и понимать код. Вот несколько примеров неудачных переменных:
9+
10+
```python
11+
a = "John"
12+
n = 42
13+
ddr = "New York"
14+
```
15+
16+
Что это за переменные? Что в них хранится? Чтобы это понять, нужно читать весь остальной код и догадываться по контексту.
1017

11-
Компьютеру без разницы, как мы именуем ту или иную переменную. Названия важны только людям. Обычно программисты гораздо чаще читают чужой код, чем пишут свой. Чтобы коллеги смогли с легкостью прочитать и проанализировать ваш код, нужно понятно называть переменные.
18+
Компьютеру всё равно, как называется переменная. Для него `x`, `abc`, `message` или `elephant_in_the_room` — просто метки для хранения данных. Но людям — не всё равно. Программисты читают код гораздо чаще, чем пишут. Поэтому имена переменных — это не просто мелочь, а важная часть общения через код.
19+
20+
## ✅ Хорошие примеры
21+
22+
```python
23+
user_name = "Arya Stark"
24+
unpaid_orders_count = 3
25+
max_attempts = 5
26+
email_verified = False
27+
```
1228

13-
Важно придумать понятное название, которое отражает смысл переменной. При этом важно давать такие имена, которые будут понимать без контекста, без изучения окружающего кода.
29+
Хорошее имя переменной помогает понять, что делает программа, не вчитываясь в каждую строчку.
30+
Особенно важно давать такие имена, смысл которых понятен без контекста — без необходимости читать весь код вокруг.
1431

15-
Существует общепринятое правило: не используйте транслит для имен — только английский язык. Если вы испытываете сложности с английским, то пользуйтесь переводчиком. Со временем, копаясь в чужом коде, вы научитесь правильно именовать переменные.
32+
Вот несколько советов:
1633

17-
Среди разработчиков есть шутка: «Названия переменных — это одна из самых сложных вещей в программировании». Придумывать названия и правда сложно. Например, сложно назвать переменную, в которой хранится _количество неоплаченных заказов от клиентов с задолженностью в предыдущем квартале._
34+
- Используйте английский язык. Это международный стандарт. Не стоит писать `kolvo_zakazov` — лучше `orders_count`. Если с английским пока сложно — используйте переводчик, это нормально. Со временем станет проще.
35+
- Старайтесь, чтобы имя отражало смысл переменной. Пусть оно будет чуть длиннее, но понятное.
36+
- Не бойтесь тратить время на подбор хорошего названия. Это инвестиция в читаемость и поддержку кода.
1837

19-
Чтобы проверить себя, попробуйте сделать такое задание:
38+
Среди программистов даже есть шутка: «Одни из самых трудных задач в программировании — это кэширование и придумывание имён переменным.» Иногда придумать имя — действительно сложно. Вот пример: как бы вы назвали переменную, в которой хранится количество неоплаченных заказов от клиентов с задолженностью за предыдущий квартал?
2039

21-
> Придумайте название для переменной, в которой будет храниться *«количество братьев и сестер короля»*.
22-
>
23-
> Запишите его в блокноте или отправьте себе на почту. Не указывайте там ничего, кроме названия переменной. А через несколько уроков мы вернемся к этой теме.
40+
А теперь — небольшое упражнение: Придумайте название для переменной, в которой будет храниться «количество братьев и сестер короля». Запишите его в блокноте или отправьте себе на почту. Только название, без объяснений. Мы вернемся к этому заданию через несколько уроков.

modules/30-variables/14-errors/ru/EXERCISE.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
Найдите в программе необъявленную переменную и объявите ее, присвоив ей значение 'Dragon'.
1+
Найдите в программе необъявленную переменную и объявите ее, присвоив ей значение _Dragon_.
32

43
После выполнения программы результат на экране должен выглядеть так:
54

modules/30-variables/15-variables-expressions/ru/EXERCISE.md

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
Напишите программу, которая берет исходное количество евро, записанное в переменную `euros_count`, переводит евро в доллары и выводит на экран. Затем полученное значение переводит в юани и выводит на новой строчке.
32

43
Пример вывода для 100 евро:
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,38 @@
1+
Мы уже знаем, что переменные позволяют хранить и переиспользовать данные. Но они также помогают упрощать вычисления — как математические, так и строковые. Рассмотрим это на примерах.
12

2-
Мы уже разобрались, как работать с переменными, чтобы хранить и переиспользовать информацию. Но еще они помогают упрощать сложные вычисления. Например, конвертация валюты или составление нового слова. Рассмотрим, как это делать на практике.
3+
## 💱 Конвертация валют через промежуточную валюту
34

4-
Представим, что нам нужно перевести евро в юани через доллары. Подобные конвертации через промежуточную валюту часто делают банки при покупках за рубежом.
5+
Представим, что нужно перевести евро в юани, но напрямую такой курс нам недоступен. Тогда сделаем это в два шага: **евро → доллары → юани**. Так часто работают банки при оплате покупок за рубежом.
56

6-
Для начала переведем 50 евро в доллары. Допустим, что один евро — 1.25 долларов:
7+
## Шаг 1. Евро → Доллары
8+
9+
Допустим, курс: 1 евро = 1.25 доллара. Хотим перевести 50 евро:
710

811
```python
912
dollars_count = 50 * 1.25
1013
print(dollars_count) # => 62.5
1114
```
1215

13-
Здесь в переменную `dollars_count = 50 * 1.25` справа от знака «равно» мы записываем **выражение**. Интерпретатор вычислит результат (`62.5`) и запишет его в переменную. Интерпретатору не важно, в каком виде записаны данные: `62.5` или `50 * 1.25`. Для него оба варианта — выражения, которые надо вычислить. Он проводит вычисления и приходит к одному и тому же значению — `62.5`.
16+
В этой строке 50 \* 1.25 — это выражение, а dollars_count — переменная, в которую записывается результат. Python сначала вычисляет выражение, а уже потом сохраняет результат в переменную.
17+
18+
Интерпретатору всё равно, как записано выражение:
19+
20+
```python
21+
dollars_count = 62.5
22+
```
23+
24+
или
25+
26+
```python
27+
dollars_count = 50 * 1.25
28+
```
29+
30+
Результат будет один и тот же.
1431

15-
Любая строка — выражение. Конкатенация строк (склеивание значений переменных) — это тоже выражение. Когда интерпретатор видит выражение, он обрабатывает его и генерирует результат — **значение выражения**.
32+
## 📘 Что такое выражение?
1633

17-
Вот несколько примеров выражения. В комментариях справа от каждого выражения записаны итоговые значения:
34+
Выражение — это комбинация данных и операций, из которой можно получить значение.
35+
Примеры:
1836

1937
```python
2038
62.5 # 62.5
@@ -26,42 +44,37 @@ int('100') # 100
2644
'Good' + 'will' # Goodwill
2745
```
2846

29-
В тех местах, где ожидается выражение, можно поставить любое вычисление. Оно может быть не только математическим, но и строковым — как конкатенация. Программа все равно останется работоспособной.
47+
Обратите внимание: строки — это тоже выражения. А операция + со строками называется конкатенацией — она "склеивает" строки в одну.
3048

31-
Программы состоят из множества комбинаций выражений. Основываясь на сказанном выше, подумайте, сработает ли такой код:
49+
Если вы понимаете, что перед вами выражение, вы знаете: Python сначала его вычислит, а уже потом продолжит выполнение программы. Это особенно важно, когда выражения становятся сложными и включают переменные, функции и даже другие выражения внутри.
50+
51+
## ✨ Пример со строками
52+
53+
Подумайте, сработает ли такой код:
3254

3355
```python
3456
who = "dragon's " + 'mother'
3557
print(who)
3658
```
3759

38-
Такой код выведет на экран строку `dragon's mother`. Если хотите проверить самостоятельно, запустите код на [repl.it](https://replit.com/languages/python3) и поэкспериментируйте.
39-
40-
С помощью переменных можно записывать еще более сложные вычисления. Вернемся к нашей валютной программе. Запишем стоимость доллара в юанях, как отдельную переменную. Вычислим цену 50 евро в долларах, умножив их на `1.25`. Допустим, что 1 доллар — 6.91 юаней:
41-
42-
```python
43-
yuans_per_dollar = 6.91
44-
dollars_count = 50 * 1.25 # 62.5
45-
yuans_count = dollars_count * yuans_per_dollar # 431.875
60+
Ответ: да, всё отлично сработает. На экран выведется строка: _dragon's mother_
4661

47-
print(yuans_count)
48-
```
62+
## Шаг 2. Доллары → Юани
4963

50-
Теперь добавим к выводу текст с помощью конкатенации:
64+
Теперь переведем доллары в юани. Допустим, курс: 1 доллар = 6.91 юаней.
5165

5266
```python
5367
yuans_per_dollar = 6.91
54-
dollars_count = 50 * 1.25 # 62.5
68+
dollars_count = 50 * 1.25 # 62.5
5569
yuans_count = dollars_count * yuans_per_dollar # 431.875
5670

57-
# Функция str() превращает число в строку.
58-
# О таких превращениях будет отдельный урок.
59-
print('The price is ' + str(yuans_count) + ' yuans')
60-
# => The price is 431.875 yuans
71+
print(yuans_count)
6172
```
6273

63-
Любая переменная может быть частью любого выражения. В момент вычисления вместо имени переменной подставляется ее значение.
74+
Переменные можно использовать внутри других выражений. Когда Python видит переменную, он подставляет её значение, а затем выполняет вычисления.
6475

65-
Интерпретатор вычисляет значение `dollars_count` до того, как эта переменная начнет использоваться в других выражениях. Когда подходит момент использования переменной, Python уже знает значение, потому что вычислил его.
76+
## 📌 Что нужно запомнить
6677

67-
С помощью переменных можно проводить сложные вычисления, а также делать подробный вывод с получившимся значением. Но еще можно получать новые выражения посредством склеивания двух и более значений переменных. За это отвечает конкатенация.
78+
- Выражения могут быть числовыми, строковыми и даже смешанными (если правильно использовать преобразования).
79+
- Переменные можно использовать внутри других выражений. Python подставит их значения и выполнит нужные вычисления.
80+
- Все программы состоят из комбинаций выражений — именно они дают результат.

modules/30-variables/18-variable-concatenation/ru/EXERCISE.md

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
Сайты постоянно посылают письма своим пользователям. Типичная задача — сделать автоматическую отправку персонального письма, где в заголовке будет имя пользователя. Если где-то в базе сайта хранится имя человека в виде строки, то задача генерации заголовка сводится к конкатенации: например, нужно склеить строку `Здравствуйте` со строкой, где записано имя.
32

43
Напишите программу, которая будет генерировать заголовок и тело письма, используя уже готовые переменные, и выводить получившиеся строки на экран.

0 commit comments

Comments
 (0)