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/10-quotes/ru/README.md
+36-7Lines changed: 36 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
-
В этом уроке разберёмся, что такое строка и какую роль играют кавычки в коде.
1
+
Строки в программировании на Python используются очень часто и в самых разных ситуациях. С их помощью мы работаем с текстом: выводим сообщения на экран, обрабатываем пользовательский ввод, читаем данные из файлов, формируем запросы к базам данных или внешним системам.
2
2
3
-
Строка — это просто набор символов, заключённый в кавычки. Посмотрим на примеры:
3
+
С точки зрения Python, строка — это просто набор символов, заключённый в кавычки. Посмотрим на примеры:
4
4
5
5
```python
6
6
'Hello'
@@ -15,10 +15,39 @@
15
15
-`'Hello'` и `'Goodbye'` — это строки из нескольких символов.
16
16
-`'G'` — строка из одного символа.
17
17
-`' '` — строка, состоящая из одного пробела.
18
-
-`''` — пустая строка, в ней нет ни одного символа.
18
+
-`''` — пустая строка, в ней нет ни одного символа. Играет такую же роль, как 0 в математике
19
19
20
20
То есть всё, что находится внутри кавычек, считается строкой: даже если там только пробел или вообще ничего нет.
21
21
22
+
Если вывести строки на экран, то `'Hello'` и `'Goodbye'` будут хорошо заметны. Но `'` ' и `''` могут сбивать с толку: пустая строка ничего не покажет, а строка с пробелом покажет «пустое место», которое визуально сложно отличить. При этом Python чётко различает их: пустая строка — это отсутствие символов, а строка с пробелом содержит конкретный символ пробела.
23
+
24
+
Этим языки программирования отличаются от разговорных языков: здесь нет места для интерпретаций. В обычных языках человек может по-разному понять сказанное, уловить смысл даже при неточностях или пропусках. В коде такого не бывает — строка всегда трактуется однозначно.
25
+
26
+
Контрольный вопрос. Это одинаковые строки или нет?
27
+
28
+
```python
29
+
'хекслет'
30
+
' хекслет'
31
+
```
32
+
33
+
## 📚 Терминология: строка или строчка?
34
+
35
+
В программировании есть терминологическая ловушка:
36
+
37
+
- Строка (string) — это тип данных (то что разбирали выше), например 'hello'.
38
+
- Строчка (line) — это строка текста в файле или в коде.
39
+
40
+
Например, в коде ниже есть строчка, но не строка:
41
+
42
+
```python
43
+
print(5)
44
+
```
45
+
46
+
Чтобы избежать путаницы, в этом курсе мы будем использовать:
47
+
48
+
- Строка — когда говорим о типе данных.
49
+
- Строчка — когда речь идёт о строках кода.
50
+
22
51
## Одинарные и двойные кавычки
23
52
24
53
В Python строки можно записывать как в одинарных, так и в двойных кавычках:
@@ -30,11 +59,11 @@ print("Hello")
30
59
31
60
Оба варианта работают одинаково. Главное — использовать один и тот же тип кавычек в начале и в конце строки.
32
61
33
-
Хотя Python поддерживает оба варианта, по умолчанию принято использовать одинарные кавычки `'`, если внутри строки не требуется двойных. Этого стиля придерживается официальный стандарт _PEP8_ и линтер _Ruff_, который мы используем на платформе. Он может автоматически заменить двойные кавычки на одинарные там, где это возможно.
62
+
Хотя Python поддерживает оба варианта, по умолчанию принято использовать одинарные кавычки `'`, если внутри строки не требуется двойных. Этого стиля придерживается официальный стандарт оформления кода *PEP8*.
34
63
35
64
## Проблема с кавычками внутри строки
36
65
37
-
Представьте, что вы хотите напечатать строку _Dragon's mother_. В ней есть апостроф (_'s_) — это тот же символ, что и одинарная кавычка. Попробуем так:
66
+
Представьте, что вы хотите напечатать строку *Dragon's mother*. В ней есть апостроф (*'s*) — это тот же символ, что и одинарная кавычка. Попробуем так:
38
67
39
68
```python
40
69
print('Dragon's mother')
@@ -61,14 +90,14 @@ print('He said "No"')
61
90
Dragon's mother said "No"
62
91
```
63
92
64
-
В этом случае, чтобы Python не спутал кавычки внутри строки с внешними, используют символ экранирования — обратный слэш `\`. Он говорит интерпретатору: следующий за ним символ — часть строки, а не управляющий символ.
93
+
В этом случае чтобы Python не спутал кавычки внутри строки с внешними, используют символ экранирования — обратный слэш `\`. Он говорит интерпретатору: следующий за ним символ — часть строки, а не управляющий символ.
65
94
66
95
```python
67
96
print("Dragon's mother said \"No\"")
68
97
# => Dragon's mother said "No"
69
98
```
70
99
71
-
В этом примере мы экранируем двойные кавычки внутри строки, заключённой в двойные кавычки.
100
+
Здесь мы экранируем двойные кавычки внутри строки, заключённой в двойные кавычки.
72
101
73
102
Обратите внимание: Python воспринимает `\"` как один символ — кавычку, а не два символа.
74
103
То же самое касается `\'`, `\\`, `\n` и других управляющих последовательностей — они выглядят как два символа в коде, но в строке считаются за один.
Copy file name to clipboardExpand all lines: modules/25-strings/15-escape-characters/ru/README.md
+43-28Lines changed: 43 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,20 +1,18 @@
1
-
Допустим, мы хотим вывести диалог:
1
+
Допустим, мы хотим вывести текст ниже в две строчки:
2
2
3
3
```text
4
4
- Are you hungry?
5
5
- Aaaarrrgh!
6
6
```
7
7
8
-
Попробуем записать его как одну строку:
8
+
Если мы просто передадим этот текст в `print()`, то Python напечатает все в одну строчку:
9
9
10
10
```python
11
11
print("- Are you hungry?- Aaaarrrgh!")
12
12
# => - Are you hungry?- Aaaarrrgh!
13
13
```
14
14
15
-
Получилось не то что нужно: обе реплики слились в одну строку. Чтобы каждая из них начиналась с новой строки, нужно указать Python'у сделать перевод строки — то есть «нажать Enter».
16
-
17
-
Для этого используется специальный управляющий символ `\n`:
15
+
Чтобы каждая из них начиналась с новой строки, нужно добавить перевод строки — то есть «нажать Enter». Технически это реализуется через добавление специальных символов, в данном случае `\n`. Да, это не опечатка. Несмотря на то, что мы видим здесь два символа, с точки зрения Python это один символ.
18
16
19
17
```python
20
18
print("- Are you hungry?\n- Aaaarrrgh!")
@@ -41,28 +39,30 @@ print("- Are you hungry?\n- Aaaarrrgh!")
41
39
42
40
Принтеры, редакторы и интерпретаторы Python понимают `\n` как команду начать строку с новой строки.
43
41
44
-
## Другие управляющие символы
45
-
46
-
Кроме `\n`, в Python есть и другие специальные последовательности:
47
-
48
-
-`\t` — табуляция (эквивалент клавиши Tab)
49
-
-`\r` — возврат каретки (используется в Windows, но редко применяется в Python-коде)
50
-
- В программировании чаще всего используют именно \n — его достаточно для большинства задач.
Пробелы до или после `\n` также учитываются: Python воспринимает их как обычные символы и отображает в выводе.
66
66
67
67
Вы также можете вставлять `\n` в любую часть строки — до, после или даже использовать его отдельно:
68
68
@@ -80,13 +80,28 @@ First line
80
80
Second line
81
81
```
82
82
83
+
## Как вывести сам символ `\n`
84
+
85
+
86
+
Так как `\n` в Python — это управляющая последовательность, он не отображается напрямую. Если вам нужно вывести именно символы `\` и `n`, а не перевод строки, их нужно экранировать. Для этого перед обратным слешем добавляют ещё один слеш:
87
+
88
+
```python
89
+
print("Hello\\nWorld")
90
+
# Hello\nWorld
91
+
```
92
+
93
+
В этом случае Python понимает `\\` как обычный обратный слеш и показывает строку без перевода строки.
94
+
95
+
## Другие управляющие символы
96
+
97
+
Кроме `\n`, в Python есть и другие специальные последовательности:
98
+
99
+
-`\t` — табуляция (эквивалент клавиши Tab)
100
+
-`\r` — возврат каретки (используется в Windows, но редко применяется в Python-коде)
101
+
- В программировании чаще всего используют именно `\n` — его достаточно для большинства задач.
102
+
103
+
83
104
## Важные детали
84
105
85
106
- '\n' — один символ, несмотря на то, что в коде он записан как два (\ и n).
86
-
- Если вы хотите вывести символы \n буквально (как текст), используйте двойной обратный слэш `\\n`:
87
-
```python
88
-
print("Joffrey loves using \\n")
89
-
# => Joffrey loves using \n
90
-
```
91
-
92
107
- На Windows по умолчанию используется комбинация \r\n, но в Python (и вообще в кроссплатформенной разработке) принято использовать только \n, чтобы избежать проблем при переносе кода между системами.
Copy file name to clipboardExpand all lines: modules/33-data-types/40-primitive-data-types/ru/README.md
-18Lines changed: 0 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,21 +77,3 @@ print(10.234) # => 10.234
77
77
- float (рациональное число)
78
78
79
79
называются примитивными — они встроены прямо в язык. Существуют и составные типы: списки, словари, кортежи и другие. С ними мы познакомимся позже. Более того, в Python можно создавать и свои собственные типы (например, классы), но для начала важно хорошо разобраться с примитивами.
80
-
81
-
## 📚 Терминология: строка или строчка?
82
-
83
-
В программировании есть терминологическая ловушка:
84
-
85
-
- строка (string) — это тип данных, например 'hello'
86
-
- строчка (line) — это строка текста в файле или в коде
87
-
88
-
Например, в коде ниже есть строчка, но не строка:
89
-
90
-
```python
91
-
print(5)
92
-
```
93
-
94
-
Чтобы избежать путаницы, в этом курсе мы будем использовать:
95
-
96
-
- строка — когда говорим о данных типа str;
97
-
- строчка — когда речь идёт о строках кода (lines).
0 commit comments