You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/25-strings/20-string-concatenation/ru/README.md
+26Lines changed: 26 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,11 +16,23 @@ print('Dragon' + 'stone')
16
16
```python
17
17
print('Kings'+'wood') # => Kingswood
18
18
print('Kings'+'road') # => Kingsroad
19
+
# Здесь снаружи двойные кавычки, потому что внутри есть одиночная
19
20
print("King's"+'Landing') # => King'sLanding
20
21
```
21
22
22
23
Python позволяет объединять строки, даже если они записаны в разных кавычках — главное, чтобы обе части были строками.
23
24
25
+
## Тип кавычек
26
+
27
+
Независимо от того где мы работаем со строками, Python позволяет в качестве ограничителей использовать как одиночные кавычки, так и двойные. Поэтому оба примера ниже работают абсолютно идентично:
28
+
29
+
```python
30
+
print('Dragon'+'stone')
31
+
print("Dragon"+"stone")
32
+
```
33
+
34
+
По умолчанию лучше придерживаться одиночных кавычек, так как это соответствует стандарту языка.
35
+
24
36
## Пробел — тоже символ
25
37
26
38
При объединении Python не вставляет пробелы автоматически. Если между частями должен быть пробел, его нужно указать вручную:
Результат будет одинаковый. Но если пробел не добавить, то слова склеятся.
37
49
50
+
## Управляющие символы
51
+
52
+
В строках можно использовать управляющие символы, например `\n` для переноса строки или `\t` для табуляции. При конкатенации они работают так же, как и любые другие символы:
Copy file name to clipboardExpand all lines: modules/30-variables/18-variable-concatenation/ru/README.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
-
Ранее мы уже склеивали строки напрямую. Теперь попробуем использовать переменные при конкатенации. Хорошая новость: синтаксис остаётся тем же. Просто подставляются значения переменных.
1
+
Ранее мы уже склеивали строки напрямую используя конкатенацию. Теперь сделаем тоже самое, но с использованием переменных. Хорошая новость: синтаксис остаётся тем же. Просто подставляются значения переменных.
2
2
3
3
## 🧪 Склеиваем две строки напрямую
4
4
5
5
```python
6
-
what ="Kings"+"road"
6
+
what ='Kings'+'road'
7
7
print(what) # => Kingsroad
8
8
```
9
9
@@ -14,8 +14,8 @@ print(what) # => Kingsroad
14
14
Если в переменной first лежит строка "Kings", мы можем спокойно склеить её с другой строкой:
15
15
16
16
```python
17
-
first ="Kings"
18
-
what = first +"road"
17
+
first ='Kings'
18
+
what = first +'road'
19
19
print(what) # => Kingsroad
20
20
```
21
21
@@ -26,8 +26,8 @@ Python подставит значение переменной, выполни
26
26
Точно так же можно объединить значения двух переменных, если обе содержат строки:
27
27
28
28
```python
29
-
first ="Kings"
30
-
last ="road"
29
+
first ='Kings'
30
+
last ='road'
31
31
what = first + last
32
32
print(what) # => Kingsroad
33
33
```
@@ -52,14 +52,14 @@ age = 42
52
52
53
53
```python
54
54
age =42
55
-
print("Age: "+str(age)) # ✅ Age: 42
55
+
print('Age: '+str(age)) # ✅ Age: 42
56
56
```
57
57
58
58
То же самое касается переменных с результатами вычислений:
59
59
60
60
```python
61
61
price =50*1.25*6.91# => 431.875
62
-
print("Price in yuans: "+str(price)) # ✅
62
+
print('Price in yuans: '+str(price)) # ✅
63
63
```
64
64
65
65
Функция `str()` превращает любое значение (число, результат вычисления, булево и т.д.) в строку. Подробнее про функции мы поговорим в будущих уроках.
Copy file name to clipboardExpand all lines: modules/31-advanced-strings/70-slices/ru/README.md
+51-25Lines changed: 51 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,42 +25,68 @@ print(year) # => 2034
25
25
строка[начало:конец]
26
26
```
27
27
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
+
Как все это считать? Если мы работаем с конкретной строкой, то почти всегда это делается на глаз.
29
42
30
43
## 📘 Срез — это тоже строка
31
44
32
45
```python
33
46
value ='01-12-9873'
34
47
35
-
value[1:2] # => '1'
36
-
value[3:5] # => '12'
48
+
value[1:2] # => 1
49
+
value[3:5] # => 12
37
50
```
38
51
39
52
Срез всегда возвращает строку, даже если в ней только цифры. Это значит, что результат можно использовать, как обычную строку: конкатенировать, печатать, передавать в функции и так далее.
40
53
54
+
```python
55
+
part = value[3:7] # => 12-9
56
+
print(part[0:2]) # => 12
57
+
```
58
+
59
+
Сначала мы получили подстроку `'12-9'`, а потом сделали из неё новый срез `'12'`.
60
+
41
61
## ⬅️ Срез до конца или с начала
42
62
43
63
Иногда нужно взять часть строки до конца или от начала — такие ситуации тоже легко обрабатываются срезами:
44
64
45
65
```python
46
66
value ='Hexlet'
47
67
48
-
value[3:] # => 'let' # С 3 символа до конца
49
-
value[:3] # => 'Hex' # От начала до 3 символа
68
+
value[3:] # => let # С 3 символа до конца
69
+
value[:3] # => Hex # От начала до 3 символа
50
70
```
51
71
52
72
Если не указать границу, Python сам подставит нужное значение: начало строки или её конец.
53
73
54
74
## ↩️ Срезы с отрицательными индексами
55
75
56
-
Python позволяет считать не только слева направо, но и с конца строки. Для этого используются отрицательные индексы:
76
+
Python позволяет считать не только слева направо, но и с конца строки. Для этого используются отрицательные индексы.
57
77
58
78
```python
59
79
value ='Hexlet'
60
80
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
64
90
```
65
91
66
92
Это удобно, когда заранее неизвестна длина строки, но нужно взять «хвост» или «середину» строки относительно конца.
@@ -72,8 +98,8 @@ value[-5:3] # => 'ex' # С 1 до 3 включительно
72
98
```python
73
99
value ='Hexlet'
74
100
75
-
value[1:5:2] # => 'el'
76
-
# Индексы 1, 3 → символы 'e', 'l'
101
+
value[1:5:2] # => el
102
+
# Индексы 1, 3 → символы e, l
77
103
```
78
104
79
105
В этом примере:
@@ -84,8 +110,8 @@ value[1:5:2] # => 'el'
84
110
Можно комбинировать с открытыми границами:
85
111
86
112
```python
87
-
value[:5:2] # => 'Hxe'
88
-
value[1::2] # => 'elt'
113
+
value[:5:2] # => Hxe
114
+
value[1::2] # => elt
89
115
```
90
116
91
117
## 🔄 Переворот строки
@@ -95,7 +121,7 @@ value[1::2] # => 'elt'
95
121
```python
96
122
value ='Hexlet'
97
123
98
-
value[::-1] # => 'telxeH'
124
+
value[::-1] # => telxeH
99
125
```
100
126
101
127
Это полностью переворачивает строку — с конца к началу. Очень удобно и лаконично.
@@ -107,8 +133,8 @@ value[::-1] # => 'telxeH'
107
133
```python
108
134
value ='Hexlet'
109
135
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
112
138
```
113
139
114
140
Python начнёт с индекса 4 и пойдёт влево до индекса 2 включительно. Индекс 1 — не включается.
@@ -122,7 +148,7 @@ start = 1
122
148
end =5
123
149
124
150
value ='Hexlet'
125
-
print(value[start:end]) # => 'exle'
151
+
print(value[start:end]) # => exle
126
152
```
127
153
128
154
Это особенно полезно, когда границы вычисляются во время работы программы.
Copy file name to clipboardExpand all lines: modules/33-data-types/52-data-types-immutability/ru/EXERCISE.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,4 +6,4 @@
6
6
4. Пятый символ из второй строки
7
7
5. Третий символ из второй строки
8
8
9
-
Попробуйте использовать интерполяцию: внутри фигурных скобок можно помещать не только целые переменные, но и отдельные символы с помощью квадратных скобок.
9
+
Попробуйте использовать интерполяцию (f-строки): внутри фигурных скобок можно помещать не только целые переменные, но и отдельные символы с помощью квадратных скобок.
0 commit comments