Skip to content

Commit f0759b0

Browse files
committed
update
Signed-off-by: Kirill Mokevnin <[email protected]>
1 parent 7af7b38 commit f0759b0

File tree

4 files changed

+86
-34
lines changed
  • modules
    • 25-strings/20-string-concatenation/ru
    • 30-variables/18-variable-concatenation/ru
    • 31-advanced-strings/70-slices/ru
    • 33-data-types/52-data-types-immutability/ru

4 files changed

+86
-34
lines changed

modules/25-strings/20-string-concatenation/ru/README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,23 @@ print('Dragon' + 'stone')
1616
```python
1717
print('Kings' + 'wood') # => Kingswood
1818
print('Kings' + 'road') # => Kingsroad
19+
# Здесь снаружи двойные кавычки, потому что внутри есть одиночная
1920
print("King's" + 'Landing') # => King'sLanding
2021
```
2122

2223
Python позволяет объединять строки, даже если они записаны в разных кавычках — главное, чтобы обе части были строками.
2324

25+
## Тип кавычек
26+
27+
Независимо от того где мы работаем со строками, Python позволяет в качестве ограничителей использовать как одиночные кавычки, так и двойные. Поэтому оба примера ниже работают абсолютно идентично:
28+
29+
```python
30+
print('Dragon' + 'stone')
31+
print("Dragon" + "stone")
32+
```
33+
34+
По умолчанию лучше придерживаться одиночных кавычек, так как это соответствует стандарту языка.
35+
2436
## Пробел — тоже символ
2537

2638
При объединении Python не вставляет пробелы автоматически. Если между частями должен быть пробел, его нужно указать вручную:
@@ -35,6 +47,20 @@ print("King's" + ' Landing') # => King's Landing
3547

3648
Результат будет одинаковый. Но если пробел не добавить, то слова склеятся.
3749

50+
## Управляющие символы
51+
52+
В строках можно использовать управляющие символы, например `\n` для переноса строки или `\t` для табуляции. При конкатенации они работают так же, как и любые другие символы:
53+
54+
```python
55+
print('Hello,' + '\n' + 'World!')
56+
# =>
57+
# Hello,
58+
# World!
59+
60+
print('A' + '\t' + 'B')
61+
# => A B
62+
```
63+
3864
## Заключение
3965

4066
- Конкатенация — это объединение строк через +

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
Ранее мы уже склеивали строки напрямую. Теперь попробуем использовать переменные при конкатенации. Хорошая новость: синтаксис остаётся тем же. Просто подставляются значения переменных.
1+
Ранее мы уже склеивали строки напрямую используя конкатенацию. Теперь сделаем тоже самое, но с использованием переменных. Хорошая новость: синтаксис остаётся тем же. Просто подставляются значения переменных.
22

33
## 🧪 Склеиваем две строки напрямую
44

55
```python
6-
what = "Kings" + "road"
6+
what = 'Kings' + 'road'
77
print(what) # => Kingsroad
88
```
99

@@ -14,8 +14,8 @@ print(what) # => Kingsroad
1414
Если в переменной first лежит строка "Kings", мы можем спокойно склеить её с другой строкой:
1515

1616
```python
17-
first = "Kings"
18-
what = first + "road"
17+
first = 'Kings'
18+
what = first + 'road'
1919
print(what) # => Kingsroad
2020
```
2121

@@ -26,8 +26,8 @@ Python подставит значение переменной, выполни
2626
Точно так же можно объединить значения двух переменных, если обе содержат строки:
2727

2828
```python
29-
first = "Kings"
30-
last = "road"
29+
first = 'Kings'
30+
last = 'road'
3131
what = first + last
3232
print(what) # => Kingsroad
3333
```
@@ -52,14 +52,14 @@ age = 42
5252

5353
```python
5454
age = 42
55-
print("Age: " + str(age)) # ✅ Age: 42
55+
print('Age: ' + str(age)) # ✅ Age: 42
5656
```
5757

5858
То же самое касается переменных с результатами вычислений:
5959

6060
```python
6161
price = 50 * 1.25 * 6.91 # => 431.875
62-
print("Price in yuans: " + str(price)) #
62+
print('Price in yuans: ' + str(price)) #
6363
```
6464

6565
Функция `str()` превращает любое значение (число, результат вычисления, булево и т.д.) в строку. Подробнее про функции мы поговорим в будущих уроках.

modules/31-advanced-strings/70-slices/ru/README.md

Lines changed: 51 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -25,42 +25,68 @@ print(year) # => 2034
2525
строка[начало:конец]
2626
```
2727

28-
Важно: символ с индексом, указанным как "конец", не включается.
28+
Символ с индексом, указанным как "конец", не включается. Его можно воспринимать как естественный порядок символа, который нужно взять последним. То есть если там стоит 11, значит это будет 11 символ по порядку.
29+
30+
```python
31+
# Последний символ имеет индекс 10, а всего букв 11
32+
value = 'code-basics'
33+
34+
print(value[5:11]) # => basics (с 5 по 10 индекс)
35+
print(value[0:7]) # => code-ba (с 0 по 7 индекс)
36+
print(value[2:6]) # => de-b
37+
print(value[:4]) # => code
38+
print(value[5:]) # => basics
39+
```
40+
41+
Как все это считать? Если мы работаем с конкретной строкой, то почти всегда это делается на глаз.
2942

3043
## 📘 Срез — это тоже строка
3144

3245
```python
3346
value = '01-12-9873'
3447

35-
value[1:2] # => '1'
36-
value[3:5] # => '12'
48+
value[1:2] # => 1
49+
value[3:5] # => 12
3750
```
3851

3952
Срез всегда возвращает строку, даже если в ней только цифры. Это значит, что результат можно использовать, как обычную строку: конкатенировать, печатать, передавать в функции и так далее.
4053

54+
```python
55+
part = value[3:7] # => 12-9
56+
print(part[0:2]) # => 12
57+
```
58+
59+
Сначала мы получили подстроку `'12-9'`, а потом сделали из неё новый срез `'12'`.
60+
4161
## ⬅️ Срез до конца или с начала
4262

4363
Иногда нужно взять часть строки до конца или от начала — такие ситуации тоже легко обрабатываются срезами:
4464

4565
```python
4666
value = 'Hexlet'
4767

48-
value[3:] # => 'let' # С 3 символа до конца
49-
value[:3] # => 'Hex' # От начала до 3 символа
68+
value[3:] # => let # С 3 символа до конца
69+
value[:3] # => Hex # От начала до 3 символа
5070
```
5171

5272
Если не указать границу, Python сам подставит нужное значение: начало строки или её конец.
5373

5474
## ↩️ Срезы с отрицательными индексами
5575

56-
Python позволяет считать не только слева направо, но и с конца строки. Для этого используются отрицательные индексы:
76+
Python позволяет считать не только слева направо, но и с конца строки. Для этого используются отрицательные индексы.
5777

5878
```python
5979
value = 'Hexlet'
6080

61-
value[-1] # => 't' # Последний символ
62-
value[3:-1] # => 'le' # От 3 до предпоследнего
63-
value[-5:3] # => 'ex' # С 1 до 3 включительно
81+
value[-1] # => t # Последний символ
82+
value[3:-1] # => le # От 3 до предпоследнего
83+
value[-5:3] # => ex # С 1 до 2
84+
```
85+
Индекс `-1` в этом случае соответствует последнему символу в строке. Поэтому здесь мы видим разный результат:
86+
87+
```python
88+
value[3:-1] # => let
89+
value[3:] # => le
6490
```
6591

6692
Это удобно, когда заранее неизвестна длина строки, но нужно взять «хвост» или «середину» строки относительно конца.
@@ -72,8 +98,8 @@ value[-5:3] # => 'ex' # С 1 до 3 включительно
7298
```python
7399
value = 'Hexlet'
74100

75-
value[1:5:2] # => 'el'
76-
# Индексы 1, 3 → символы 'e', 'l'
101+
value[1:5:2] # => el
102+
# Индексы 1, 3 → символы e, l
77103
```
78104

79105
В этом примере:
@@ -84,8 +110,8 @@ value[1:5:2] # => 'el'
84110
Можно комбинировать с открытыми границами:
85111

86112
```python
87-
value[:5:2] # => 'Hxe'
88-
value[1::2] # => 'elt'
113+
value[:5:2] # => Hxe
114+
value[1::2] # => elt
89115
```
90116

91117
## 🔄 Переворот строки
@@ -95,7 +121,7 @@ value[1::2] # => 'elt'
95121
```python
96122
value = 'Hexlet'
97123

98-
value[::-1] # => 'telxeH'
124+
value[::-1] # => telxeH
99125
```
100126

101127
Это полностью переворачивает строку — с конца к началу. Очень удобно и лаконично.
@@ -107,8 +133,8 @@ value[::-1] # => 'telxeH'
107133
```python
108134
value = 'Hexlet'
109135

110-
value[4:1:-1] # => 'elx'
111-
# Индексы: 4, 3, 2 → 'e', 'l', 'x'
136+
value[4:1:-1] # => elx
137+
# Индексы: 4, 3, 2 → e, l, x
112138
```
113139

114140
Python начнёт с индекса 4 и пойдёт влево до индекса 2 включительно. Индекс 1 — не включается.
@@ -122,7 +148,7 @@ start = 1
122148
end = 5
123149

124150
value = 'Hexlet'
125-
print(value[start:end]) # => 'exle'
151+
print(value[start:end]) # => exle
126152
```
127153

128154
Это особенно полезно, когда границы вычисляются во время работы программы.
@@ -132,14 +158,14 @@ print(value[start:end]) # => 'exle'
132158
```python
133159
value = 'Hexlet'
134160

135-
value[::] # 'Hexlet' — вся строка
136-
value[:] # 'Hexlet'
137-
value[::2] # 'Hxe' — чётные символы
138-
value[1::2] # 'elt' — нечётные символы
139-
value[::-1] # 'telxeH' — строка в обратном порядке
140-
value[5:] # 't'
141-
value[:5] # 'Hexle'
142-
value[-2:1:-1] # 'elx' — с предпоследнего до третьего
161+
value[::] # Hexlet — вся строка
162+
value[:] # Hexlet
163+
value[::2] # Hxe — чётные символы
164+
value[1::2] # elt — нечётные символы
165+
value[::-1] # telxeH — строка в обратном порядке
166+
value[5:] # t
167+
value[:5] # Hexle
168+
value[-2:1:-1] # elx — с предпоследнего до третьего
143169
```
144170

145171
Когда делаете срез от большего индекса к меньшему, не забудьте задать отрицательный шаг — иначе срез не сработает.

modules/33-data-types/52-data-types-immutability/ru/EXERCISE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
4. Пятый символ из второй строки
77
5. Третий символ из второй строки
88

9-
Попробуйте использовать интерполяцию: внутри фигурных скобок можно помещать не только целые переменные, но и отдельные символы с помощью квадратных скобок.
9+
Попробуйте использовать интерполяцию (f-строки): внутри фигурных скобок можно помещать не только целые переменные, но и отдельные символы с помощью квадратных скобок.

0 commit comments

Comments
 (0)