- В Python отступы важны и служат для указания блока кода

На выходе мы получаем ошибку об отсутствие пробела в строке 9 и 10
result = int(number_1) + int(number_2)
^
IndentationError: expected an indented block
- В Python имеется возможность документирования внутри кода. Комментарии начинаются с символа #
- В продолжении пункта про документирования. В Python также имеется расширенные возможности документации, называемые docstrings для этого текст необходимо поместить в утроенные двойные скобки 🙂
"""Вот так выглядит пример
многострочной документации"""
#А вот обычный строчный комментарий
print("This is simple calculator")
number_1 = input("Enter the first number: ")
number_2 = input("Enter the second number: ")
- Переменным можно использовать множественное присваивание (его еще называют распаковка кортежа):
x = 1; y = 5 #доп. хотел показать, что можно так
x, y = (1, 5) #множественное присваивание
print(x, y)
- Экранирование в питоне задается знаком обратного слэша “\“. Служит как бы для “отмены” символа, или специального слова стоящего перед ним (на пробелы не распространяется):
1) В примере ниже, мы отменяем двойную кавычку, причем в двух местах, чтобы в выхлопе слово было выделено в кавычках
>>> "Test \"quotes\" in strings"
'Test "quotes" in strings'
>>>'don\'t do that'
"don't do that"
2) Так же можно отменить абзац данным символом (т.е отменить невидимый или как еще называют "за кулисами" \n)
>>>print("""\ <<< отменяет неявный "\n"
... Usage: thingy [OPTIONS]
... -h Display This usage name
... -H hostname Hostname to connect to""")
Usage: thingy [OPTIONS]
-h Display This usage name
-H hostname Hostname to connect to
*******************************************************
3) Помимо этого, экранирование распространяется и на обычные символы из текста, например:
>>> print("\test")
est
4) Но если перед экранированием поставить еще одно экранирование, то тогда он отменет его как "функцию":
>>> print("\\test")
\test
- В продолжение экранирования, если перед кавычкой, но внутри скобки, поставить r или R (raw, т.е. сделать строку “сырой”), то экранирование отключается. Распространяется на конкретную пару кавычек
На каждую строку своя кавычка. На первой и второй строке отключили экранирование. \n просто стал отображаться в принте:
verse = (r'Еду. Тихо. Слышны звоны\n'
r'Под копытом на снегу\n'
'Только серые вороны\n'
'Расшумелись на лугу\n')
print(verse)
Еду. Тихо. Слышны звоны\nПод копытом на снегу\nТолько серые вороны
Расшумелись на лугу
Еще один пример из офф докуметации.
\n воспринимает как функцию:
>>> verse = ('C:\nastya')
print(verse)
C:
astya
Добавляем r перед скобками и все ок:
>>> verse = (r'C:\nastya')
print(verse)
C:\nastya
- Существуют физические строки и логические

1) Например, нужно объявить какую-то длинную переменную, но для удобства чтения, желаем разбить её на несколько физических строк, при этом чтобы она воспринималась как одна логическая (в примере принт немного съехал из-за ограничение символов в строку на сайте и получился в две строки)
В конце каждой строки добавили backslash "\" - т.е. отменили перенос \n
verse ='Еду. Тихо. Слышны звоны\
Под копытом на снегу\
Только серые вороны\
Расшумелись на лугу'
print(verse)
Еду. Тихо. Слышны звоныПод копытом на снегуТолько серые вороныРасшумелись на лугу
- Конкатенация строк то бишь склеивание строк
numb1 = 'На улице '
numb2 = 'шел дождь'
result = numb1 + numb2
print(result)
На улице шел дождь
Process finished with exit code 0
- Для того чтобы выполнить конкатенацию (сложение) строк разных типов, нужно привести их к одному формату:
name = 'David'
Age = 25
result = ('My name is ' + name + ', I\'m ' + str(Age))
result2 = (' year\'s old')
print(result+result2)
My name is David, I'm 25 year's old
Age из int(целого числа) перевели в строчный str
Индексация строк в Python
stirng = 'Hello World!'
print(stirng[1])
[X:Y:Z]
X
