Skip to content

Commit 247075b

Browse files
committed
update content
Signed-off-by: Kirill Mokevnin <[email protected]>
1 parent 2e1090a commit 247075b

File tree

4 files changed

+80
-60
lines changed

4 files changed

+80
-60
lines changed

modules/25-strings/10-quotes/ru/EXERCISE.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,4 @@
1-
Напишите программу, которая выведет на экран:
2-
3-
```text
4-
"Khal Drogo's favorite word is "athjahakar""
5-
```
6-
7-
Программа должна вывести на экран эту фразу в точности. Обратите внимание на кавычки в начале и в конце фразы:
1+
Напишите программу, которая выведет на экран в точности как она записана:
82

93
```text
104
"Khal Drogo's favorite word is "athjahakar""

modules/25-strings/10-quotes/ru/README.md

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
В этом уроке разберёмся, что такое строка и какую роль играют кавычки в коде.
1+
Строки в программировании на Python используются очень часто и в самых разных ситуациях. С их помощью мы работаем с текстом: выводим сообщения на экран, обрабатываем пользовательский ввод, читаем данные из файлов, формируем запросы к базам данных или внешним системам.
22

3-
Строка — это просто набор символов, заключённый в кавычки. Посмотрим на примеры:
3+
С точки зрения Python, строка — это просто набор символов, заключённый в кавычки. Посмотрим на примеры:
44

55
```python
66
'Hello'
@@ -15,10 +15,39 @@
1515
- `'Hello'` и `'Goodbye'` — это строки из нескольких символов.
1616
- `'G'` — строка из одного символа.
1717
- `' '` — строка, состоящая из одного пробела.
18-
- `''` — пустая строка, в ней нет ни одного символа.
18+
- `''` — пустая строка, в ней нет ни одного символа. Играет такую же роль, как 0 в математике
1919

2020
То есть всё, что находится внутри кавычек, считается строкой: даже если там только пробел или вообще ничего нет.
2121

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+
2251
## Одинарные и двойные кавычки
2352

2453
В Python строки можно записывать как в одинарных, так и в двойных кавычках:
@@ -30,11 +59,11 @@ print("Hello")
3059

3160
Оба варианта работают одинаково. Главное — использовать один и тот же тип кавычек в начале и в конце строки.
3261

33-
Хотя Python поддерживает оба варианта, по умолчанию принято использовать одинарные кавычки `'`, если внутри строки не требуется двойных. Этого стиля придерживается официальный стандарт _PEP8_ и линтер _Ruff_, который мы используем на платформе. Он может автоматически заменить двойные кавычки на одинарные там, где это возможно.
62+
Хотя Python поддерживает оба варианта, по умолчанию принято использовать одинарные кавычки `'`, если внутри строки не требуется двойных. Этого стиля придерживается официальный стандарт оформления кода *PEP8*.
3463

3564
## Проблема с кавычками внутри строки
3665

37-
Представьте, что вы хотите напечатать строку _Dragon's mother_. В ней есть апостроф (_'s_) — это тот же символ, что и одинарная кавычка. Попробуем так:
66+
Представьте, что вы хотите напечатать строку *Dragon's mother*. В ней есть апостроф (*'s*) — это тот же символ, что и одинарная кавычка. Попробуем так:
3867

3968
```python
4069
print('Dragon's mother')
@@ -61,14 +90,14 @@ print('He said "No"')
6190
Dragon's mother said "No"
6291
```
6392

64-
В этом случае, чтобы Python не спутал кавычки внутри строки с внешними, используют символ экранирования — обратный слэш `\`. Он говорит интерпретатору: следующий за ним символ — часть строки, а не управляющий символ.
93+
В этом случае чтобы Python не спутал кавычки внутри строки с внешними, используют символ экранирования — обратный слэш `\`. Он говорит интерпретатору: следующий за ним символ — часть строки, а не управляющий символ.
6594
6695
```python
6796
print("Dragon's mother said \"No\"")
6897
# => Dragon's mother said "No"
6998
```
7099

71-
В этом примере мы экранируем двойные кавычки внутри строки, заключённой в двойные кавычки.
100+
Здесь мы экранируем двойные кавычки внутри строки, заключённой в двойные кавычки.
72101

73102
Обратите внимание: Python воспринимает `\"` как один символ — кавычку, а не два символа.
74103
То же самое касается `\'`, `\\`, `\n` и других управляющих последовательностей — они выглядят как два символа в коде, но в строке считаются за один.

modules/25-strings/15-escape-characters/ru/README.md

Lines changed: 43 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
1-
Допустим, мы хотим вывести диалог:
1+
Допустим, мы хотим вывести текст ниже в две строчки:
22

33
```text
44
- Are you hungry?
55
- Aaaarrrgh!
66
```
77

8-
Попробуем записать его как одну строку:
8+
Если мы просто передадим этот текст в `print()`, то Python напечатает все в одну строчку:
99

1010
```python
1111
print("- Are you hungry?- Aaaarrrgh!")
1212
# => - Are you hungry?- Aaaarrrgh!
1313
```
1414

15-
Получилось не то что нужно: обе реплики слились в одну строку. Чтобы каждая из них начиналась с новой строки, нужно указать Python'у сделать перевод строки — то есть «нажать Enter».
16-
17-
Для этого используется специальный управляющий символ `\n`:
15+
Чтобы каждая из них начиналась с новой строки, нужно добавить перевод строки — то есть «нажать Enter». Технически это реализуется через добавление специальных символов, в данном случае `\n`. Да, это не опечатка. Несмотря на то, что мы видим здесь два символа, с точки зрения Python это один символ.
1816

1917
```python
2018
print("- Are you hungry?\n- Aaaarrrgh!")
@@ -41,28 +39,30 @@ print("- Are you hungry?\n- Aaaarrrgh!")
4139

4240
Принтеры, редакторы и интерпретаторы Python понимают `\n` как команду начать строку с новой строки.
4341

44-
## Другие управляющие символы
45-
46-
Кроме `\n`, в Python есть и другие специальные последовательности:
47-
48-
- `\t` — табуляция (эквивалент клавиши Tab)
49-
- `\r` — возврат каретки (используется в Windows, но редко применяется в Python-коде)
50-
- В программировании чаще всего используют именно \n — его достаточно для большинства задач.
51-
5242
## Примеры использования `\n`
5343

44+
Местоположение `\n` меняет итоговый вывод:
45+
5446
```python
55-
print("Gregor Clegane\nDunsen\nPolliver\nChiswyck")
47+
print("Hello\nWorld")
48+
# Hello
49+
# World
50+
51+
print("Hello \nWorld")
52+
# Hello
53+
# World (в конце первой строки есть пробел)
54+
55+
print("Hello\n World")
56+
# Hello
57+
# World (во второй строке в начале пробел)
58+
59+
print("Hello\n\nWorld")
60+
# Hello
61+
#
62+
# World (пустая строка между ними)
5663
```
5764

58-
Результат:
59-
60-
```text
61-
Gregor Clegane
62-
Dunsen
63-
Polliver
64-
Chiswyck
65-
```
65+
Пробелы до или после `\n` также учитываются: Python воспринимает их как обычные символы и отображает в выводе.
6666

6767
Вы также можете вставлять `\n` в любую часть строки — до, после или даже использовать его отдельно:
6868

@@ -80,13 +80,28 @@ First line
8080
Second line
8181
```
8282

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+
83104
## Важные детали
84105

85106
- '\n' — один символ, несмотря на то, что в коде он записан как два (\ и n).
86-
- Если вы хотите вывести символы \n буквально (как текст), используйте двойной обратный слэш `\\n`:
87-
```python
88-
print("Joffrey loves using \\n")
89-
# => Joffrey loves using \n
90-
```
91-
92107
- На Windows по умолчанию используется комбинация \r\n, но в Python (и вообще в кроссплатформенной разработке) принято использовать только \n, чтобы избежать проблем при переносе кода между системами.

modules/33-data-types/40-primitive-data-types/ru/README.md

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -77,21 +77,3 @@ print(10.234) # => 10.234
7777
- float (рациональное число)
7878

7979
называются примитивными — они встроены прямо в язык. Существуют и составные типы: списки, словари, кортежи и другие. С ними мы познакомимся позже. Более того, в 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

Comments
 (0)