Перейти к содержанию

Программирование

1 Темы 6 Сообщения
  • Обучение языку программирования Python

    Закрыта Перенесена python обучение
    6
    0 Голоса
    6 Сообщения
    312 Просмотры
    kirilljsxK
    Часть 4 - Текстовые строки Из предыдущих частей мы уже видел с вами строки, но в этой части поговорим о них более детально и начнем с основ. Для того что бы создать строку в языке Python нам необходимо обернуть ее в одинарные или двойные кавычки: "Строка" 'Строка' Интерпретатор выводит строки в одинарных кавычках, но обрабатываются любые. И так разберемся для чего же у нас есть возможность использовать разные кавычки для строк, основная идея в том что бы использовать те или иные кавычки в сами строках, взглянем на пример: "Вот строка, а вот текст в 'кавычках'" 'Тоже самое, но "наоборот"' Также допускается использование трех кавычек: """Строка""" '''Строка''' Но у них есть особенность - это работа с многострочным текстом, к примеру четверостишье Бунина: text = """В сухом лесу стреляет длинный кнут, В кустарнике трещат коровы, И синие подснежники цветут, И под ногами лист шуршит дубовый. """ Между делом, есть разница между выводом через интерпретатор и функцию print(). Скопируйте код выше в интерпретатор - увидите: 'В сухом лесу стреляет длинный кнут,\nВ кустарнике трещат коровы,\nИ синие подснежники цветут,\nИ под ногами лист шуршит дубовый.\n' Заметили \n? Это символ переноса строки, о нем мы поговорим позже. А если вывести через print(): print("В сухом", 'лесу', """стреляет""", '''длинный кнут''') Получим: В сухом лесу стреляет длинный кнут. Функция print() добавляет пробелы между аргументами. Наконец, нам могут понадобиться пустые строки, они создаются любым из способов: '' "" ''' ''' """ """ Функция str() У Python есть отдельная функция которая умеет создавать строку из другого типа данных - str(): str(98.6) # '98.6' str(1.0e4) # '10000.0' str(True) # 'True' Escape последовательность Как и обещал ранее, подробнее об обратном слеше \ - это escape-последовательность внутри строк. Символ, стоящий перед \, получает особое значение. Наиболее распространённая последовательность \n обозначает переход на новую строку. Благодаря ей можно создать многострочные строки из однострочных. Взглянем на пример: text = 'Один, \nДва, \nТри.' print(text) # Один, # Два, # Три. Кроме того в Python есть последовательность табуляции \t которая помогает выравнивать текст: print('\tабв') абв print('а\tбв') а бв print('аб\tв') аб в print('абв\t') абв В последнем примере табуляция есть, но увидеть мы ее не сможем Рассмотрим еще один пример последовательности, но уже для работы с кавычками \' и \": text = "\" Раз! \" Два! \" Три! \"" '" Раз! " Два! " Три! "' print(text) " Раз! " Два! " Три! " Может возникнуть ситуации когда нам понадобится обратный слеш в тексте, для этого используем просто два слеша подряд вот так: text = "Вот \\ - слеш" print(text) # Вот \ - слеш Объединение строк символом + Почти как с числами, только наоборот: для строк можно использовать оператор сложения +, который объединяет две и более строки в одну: 'Первый ' + 'Второй' # 'Первый Второй' 'Первый' + 'Второй' # 'ПервыйВторой' 'Первый' + ' ' + 'Второй' # 'Первый Второй' Строки можно даже объединять без оператора, просто расположив их одну за другой: "Первый " "Второй" # 'Первый Второй' Размножение строк Точно также как и с оператором + мы можем использовать оператор умножения *, попробуй ввести в интерпретатор следующий код по строчно: one = "Один " * 3 + '\n' two = "Два " * 4 + '\n' three = "Три." print(one + one + two, three) Напоминаю про приоритеты, что бы первым будет выполняться оператор умножения * так как он имеет более высокий приоритет. Извлечение символов при помощи [] Переходим к более интересной работе со строками, для того что бы получить один символ из нашей строки необходимо указать его индекс в квадратных скобках [], напомню что в языке Python есть смещение и мы начинаем с [0]: string = "абвгд" string[0] # а string[-1] # д string[2] # в Стоит учесть следующее - если мы укажем индекс больше длины строки, то получим исключение: [image: 1771167693695-0677e478-1037-4e6e-a20a-bd48c458253d-image.webp] Строки являются неизменными по этому если мы попробуем по индексу задать новое значение то получим исключение: name = 'Kirill' name[0] = 'R' [image: 1771167852157-d43d70bd-ae42-4f9d-b1c5-835b6b81bcbe-image.webp] И тут на помощь приходят новые функции replace() и slice(), про них поговорим позже. А пока взглянем на код: name = 'Kirill' name.replace('K', 'R') # 'Ririll' 'R' + name[1:] # Ririll Помните про неизменность? Интерпретатор не меняет значение у переменной, а лишь выводит результат замены. Подстроки и разделение Материал появится по мере его написания