Содержание

Основы работы со строками — Python documentation

Основы работы со строками — Python documentation
Строка

Неизменяемая последовательность символов.

Строковые литералы

Строковый литерал может быть записан в одинарных или двойных кавычнах:

>>> "Hello"
'Hello'
>>> 'World'
'World'

Разницы между этими двумя формами записи нет. Записывать строки в двойных кавычках удобно в случаях, когда в тексте содержится апостроф:

>>> "What's your name?"
"What's your name?"

Запись в апострофах удобна, если в тексте есть кавычки:

>>> 'He said: "Bond, James Bond."'
'He said: "Bond, James Bond."'

Иначе интерпретатор будет считать ближайшие кавычку или апостроф закрывающими, и их нужно экранировать:

>>> 'What\'s your name?'
"What's your name?"
>>> "He said: \"Bond, James Bond.\""
'He said: "Bond, James Bond."'

Внутри строки могут быть управляющие последовательности.

Некоторые из них:

Последовательность

Описание

\\

Обратный слеш (\)

\'

Апостроф

\"

Кавычка

\t

Символ табуляции

\n

Перевод строки

Примеры:

>>> print("Hello\nWorld")
Hello
World
>>> print("1\t2\n30\t4")
1       2
30      4

В некоторых случаях экранирование обратного слеша может быть неудобно. Можно воспользоваться литералом сырых строк:

>>> print(r"Hello\nWorld")
Hello\nWorld

Операции со строками

len(s)

Получение длины строки:

>>> len("Hello")
5
s1 + s2

Конкатенация строк:

>>> "Hello " + "World"
'Hello World'
s * n

Повторение строки n раз:

>>> "python " * 3
'python python python '
s[i]

Обращение к символу i строки s.

)= (“)_(“) (“)_(“) (“)_(“)
  • Дана строка, содержащая путь к файлу:

    C:\Python3\python.exe
    

    С помощью срезов вывести отдельно имя файла, его расширение, имя каталога и полный путь к каталогу. Пример вывода:

    Имя файла: python.exe
    Расширение: exe
    Имя каталога: Python3
    Полный путь к каталогу: C:\Python3\
    
  • Дана строка 12'345'678. Используя срезы и преобразование типов получить из нее число.

  • Пользователь вводит названия трех глав книги и номера их страниц. Вывести получившиееся содержание так, чтобы названия глав были выровнены по левому краю, а номера страниц — по правому. Ширину страницы принять за 50 символов.

    Входные данные:

    Chapter 1: Мальчик, который выжил
    Page: 5
    Chapter 2: Косой переулок
    Page: 40
    Chapter 3: Человек с двумя лицами
    Page: 500
    

    Вывод:

    Содержание
    Мальчик, который выжил                 5
    Косой переулок                        40
    Человек с двумя лицами               500
    
  • Дополнительные задачи

    Разработать приложение, которое запрашивает у пользователя стоимость заказа из трех пунктов и выводит чек таким образом, что все стоимости выводятся в крайнем правом столбце. Ширину чека принять за 30 символов. Пример:

    Салат: 60
    Первое: 45
    Второе: 120
    Ваш счет
    Салат:                    60.0
    Первое:                   45.0
    Второе:                  120.0
    ------------------------------
    Итого:                   225.0
    

    Домашнее задание

    На вход программе подается строка. Необходимо вывести:

    1. Сначала выведите третий символ этой строки.

    2. Во второй строке выведите предпоследний символ этой строки.

    3. третьей строке выведите первые пять символов этой строки.

    4. В четвертой строке выведите всю строку, кроме последних двух символов.

    5. В пятой строке выведите все символы с четными индексами (считая, что индексация начинается с 0, поэтому символы выводятся начиная с первого).

    6. В шестой строке выведите все символы с нечетными индексами, то есть начиная со второго символа строки.

    7. В седьмой строке выведите все символы в обратном порядке.

    8. В восьмой строке выведите все символы строки через один в обратном порядке, начиная с последнего.

    9. В девятой строке выведите длину данной строки.

    Пример:

    Input: Abrakadabra
    Output:
    r
    r
    Abrak
    Abrakadab
    Arkdba
    baaar
    arbadakarbA
    abdkrA
    11
    
    Read the Docs v: latest

    Versions
    latest
    Downloads
    html
    On Read the Docs
    Project Home
    Builds

    Free document hosting provided by Read the Docs.

    Приемы работы со строками в Python.

    Этот раздел просвещен исследованию свойств строки в Python на примерах и практическому применению операции с текстовыми строками.

    Раздел представляет собой короткие примеры с решением конкретных задач, а так же разбираются различные случаи манипулирования и преобразования, выполняемые со строками.

    Смотрите также:

    • Тип str — текстовые строки в Python.
    • Общие операции с последовательностями list, tuple, str в Python.

    Преобразование строки в число в Python.

    В Python нельзя смешивать строковые и числовые типы в таких операторах, как ‘+’, но можно вручную выполнить необходимые преобразования перед выполнением.

    Строку в список, кортеж или множество символов в Python.

    Для преобразования строки в список символов необходимо исходную строку передать в класс list(). Это полезно для каких то преобразований в цикле с отдельными символами в строке (удаление/добавление/изменение) или если нужно отобразить строку наоборот (развернуть строку).

    Одинарные, двойные и тройные кавычки в строке Python.

    Текстовые строки могут быть заключены в одинарные кавычки (‘…’) или двойные кавычки («…»), что в результате будет одно и то же. Знак обратной косой черты ‘\’ может использоваться для экранирования кавычек.

    Вывод специальных символов в строке Python «как есть».

    Вывод специальных символов в строке Python «как есть». Использование необработанных (сырых) строк Python.

    Объединение и повторение строк в Python.

    Строки могут быть объединены (склеены) оператором ‘+’ и повторены с помощью ‘*’. Два или более строковых литерала, те, которые заключены в кавычки рядом друг с другом, автоматически объединяются.

    Индексирование строк в Python.

    Строки могут быть индексированы, причем первый символ имеет индекс 0. В Python не существует отдельного типа «символ» (char), символ — это просто строка размером один

    Использование срезов строк в Python.

    Использование срезов позволяет получить подстроку. Пропущенный первый индекс по умолчанию равен нулю, пропущенный второй индекс по умолчанию равен размеру/длине разрезаемой строки.

    Cрез строки Python от заданного символа/знака до конца строки.

    Можно воспользоваться str.partition() разбивает строку на три части: все что слева от разделителя, сам разделитель, то что справа от разделителя. Если разделитель не найден, то возвращается исходная строка и две пустых строки, т. е. в любом случае возвращается кортеж из 3 элементов.

    Создание макета для печати базовыми методами строк в Python.

    Когда вам нужно быстрое отображение некоторых переменных для отладки, вы можете преобразовать любое значение в строку с помощью функций repr() или str()

    Способы форматирования текстовых строк в Python.

    Форматирование строковыми литералами, форматирование методом str.format(), форматирование оператором ‘%’ в стиле языка C.

    Подсчет повторений слов в тексте, деление строки на список слов.

    Деление строки Python на список слов или подстрок. Разделить строку на список слов можно несколькими способами, разберем 2 самых популярных.

    Удаление слова из строки Python по фрагменту или шаблону.

    Удаление слова из строки Python по фрагменту или шаблону.

    Удаление пунктуации из строки в Python.

    Для удаления пунктуации из строки Python воспользуемся методом строки str.replace(). А именно, в цикле пройдемся по всем символам пунктуации, и если они есть, то просто заменим его на пустую строку.

    Деление строки по заглавным буквам в Python.

    Для деления текста или строки по заглавным буквам воспользуемся позитивной опережающей проверкой регулярных выражений и функцией re.split() модуля re.

    Создание отчетов и писем по шаблонам в Python.

    Довольно часто возникают ситуации, когда нужно генерировать определенные отчеты или манипулировать строками. Общим для всех этих ситуаций является то, что создание отчета или обработка строк следует определенному шаблону. Обычно шаблоны очень похожи и мы их используем повторно.

    Основное руководство по работе со строками Python на практических примерах

    Резюме : в этом руководстве вы узнаете о строке Python и ее основных операциях.

    Введение в Python string

    Строка — это последовательность символов. В Python все, что заключено в кавычки, является строкой. И вы можете использовать как одинарные, так и двойные кавычки. Например:

     message = 'Это строка в Python'
    message = "Это тоже строка"  Язык кода: Python (python)  

    Если строка содержит одинарную кавычку, вы должны поместить ее в двойные кавычки следующим образом:

     message = "Это строка"  Язык кода: Python (python)  

    И когда строка содержит двойные кавычки, вы можете использовать одинарные кавычки:

     message = '"Красивое лучше, чем уродливое".  Сказал Тим Питерс  Кодовый язык: Python (python)  

    Чтобы избежать кавычек, вы используете обратную косую черту ( \ ). Например:

     message = 'Это также допустимая строка'  Язык кода: Python (python) 

    Интерпретатор Python будет обрабатывать символ обратной косой черты (\) по-особому. Если вы этого не хотите, вы можете использовать необработанные строки, добавив букву r перед первой кавычкой. Например:

     message = r'C:\python\bin'  Язык кода: Python (python)  

    Создание многострочных строк

    Чтобы разделить строку на несколько строк, используйте тройные кавычки «»»…»” » или «‘…»‘. Например:

     help_message = '''
    Использование: команда mysql
        -h имя хоста
        -d имя базы данных
        -у имя пользователя
        -p пароль
    '''
    печать (help_message)  Язык кода: Python (python)  

    При выполнении программы будет выведено следующее:

     Использование: команда mysql
        -h имя хоста
        -d имя базы данных
        -у имя пользователя
        -p пароль  Язык кода: Python (python)  

    Использование переменных в строках Python с f-строками

    Иногда вам нужно использовать значения переменных в строке.

    Например, вы можете использовать значение переменной name внутри сообщение строковая переменная:

     имя = 'Джон'
    message = 'Hi'  Язык кода: Python (python)  

    Для этого нужно поместить букву f перед открывающей кавычкой и заключить имя переменной в фигурную скобку:

     name = 'John'
    сообщение = f'Привет {имя}'
    print(message)  Язык кода: Python (python)  

    Python заменит {name} значением переменной name . Код покажет следующее на экране:

     Привет, Джон  Язык кода: Python (python)  

    Сообщение представляет собой строку формата или сокращенно f-строку. Python представил f-строку в версии 3.6.

    Объединение строк Python

    Когда вы размещаете строковые литералы рядом друг с другом, Python автоматически объединяет их в одну строку. Например:

     приветствие = "Доброе утро!"
    print(приветствие)  Язык кода: Python (python)  

    Вывод:

     Доброе утро!  Язык кода: Python (python) 

    Для объединения двух строковых переменных используется оператор + :

     приветствие = 'Хорошо'
    время = 'Полдень'
    приветствие = приветствие + время + '!'
    print(приветствие)  Язык кода: Python (python)  

    Вывод:

     Добрый день!  Язык кода: Python (python)  

    Доступ к элементам строки

    Поскольку строка представляет собой последовательность символов, вы можете получить доступ к ее элементам, используя индекс. Первый символ в строке имеет нулевой индекс.

    В следующем примере показано, как получить доступ к элементам с помощью индекса:

     str = "Python String"
    print(str[0]) # P
    print(str[1]) # y  Язык кода: Python (python)  

    Как это работает:

    • Сначала создайте переменную, содержащую строку "Python String" .
    • Затем получите доступ к первому и второму символам строки, используя квадратные скобки [] и индексы.

    Если вы используете отрицательный индекс, Python возвращает символ, начиная с конца строки. Например:

     ул = "Строка Python"
    print(str[-1]) # г
    print(str[-2]) # n  Язык кода: Python (python)  

    Ниже показаны индексы строки "Python String" :

     +---+---+--- +---+---+---+---+---+---+---+---+---+---+
    | П | у | т | ч | о | н | | С | т | р | я | н | г |
    +---+---+---+---+---+---+---+---+---+---+---+---+- --+
      0 1 2 3 4 5 6 7 8 9 10 11 12
    -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1  Язык кода: Python (python)  

    Получение длины строки

    Чтобы получить длину строки, вы используете функцию len() . Например:

     str = "Строка Python"
    str_len = длина (ул)
    print(str_len)  Язык кода: Python (python)  

    Вывод:

     13  Язык кода: Python (python)  

    Нарезка строк

    Нарезка позволяет получить подстроку из строки. Например:

     str = "Строка Python"
    печать (стр [0: 2])  Язык кода: Python (python)  

    Вывод:

     Py  Язык кода: Python (python)  

    str[0:2] возвращает подстроку, содержащую символ из индекса 0 (включительно) до 2 (исключено).

    Синтаксис для нарезки следующий:

     строка[начало:конец]  Язык кода: Python (python)  

    Подстрока всегда включает символ в начале и исключает строку в конце .

    start и end являются необязательными. Если вы опустите start , по умолчанию он равен нулю. Если вы опустите end , по умолчанию будет длина строки.

    Строки Python неизменяемы

    Строки Python неизменны. Это означает, что вы не можете изменить строку. Например, вы получите сообщение об ошибке, если обновите один или несколько символов в строке:

     str = "Python String"
    str[0] = 'J'  Язык кода: Python (python)  

    Ошибка:

     Трассировка (последний последний вызов):
      Файл "app.py", строка 2, в 
        ул[0] = 'J'
    Ошибка типа: объект 'str' не поддерживает назначение элементов  Язык кода: Python (python)  

    Если вы хотите изменить строку, вам нужно создать новую из существующей строки. Например:

     str = "Строка Python"
    new_str = 'J' + ул[1:]
    print(new_str)  Язык кода: Python (python)  

    Вывод:

     Jython String  Язык кода: Python (python)  

    Сводка

    • В Python строка представляет собой последовательность символов. Кроме того, строки Python неизменяемы.
    • Используйте кавычки, одинарные или двойные кавычки для создания строковых литералов.
    • Используйте символ обратной косой черты \ , чтобы экранировать кавычки в строках
    • Используйте необработанные строки r'...' , чтобы экранировать символ обратной косой черты.
    • Используйте f-строки для вставки заменяющих переменных в литеральные строки.
    • Поместите литеральные строки рядом друг с другом, чтобы соединить их. И используйте оператор + для конкатенации строковых переменных.
    • Используйте функцию len() для получения размера строки.
    • Используйте str[n] для доступа к символу в позиции n строки str .
    • Используйте нарезку для извлечения подстроки из строки.

    Считаете ли вы это руководство полезным?

    Учебники по струнам и заметки | Питон

    Python String:

    Строки — это последовательности символов. Ваше имя можно считать строкой. Или, скажем, вы живете в Замбии, тогда название вашей страны "Замбия" , что является строкой.

    В этом руководстве вы увидите, как строки обрабатываются в Python, различные способы представления строк в Python и способы использования строк в коде.

    Как создать строку и присвоить ее переменной

    Чтобы создать строку, поместите последовательность символов в одинарные, двойные или тройные кавычки, а затем присвойте ее переменной. Вы можете посмотреть, как переменные работают в Python, в учебнике по переменным Python.

    Например, вы можете присвоить символ «a» переменной single_quote_character . Обратите внимание, что строка состоит из одного символа и «заключена» в одинарные кавычки.

     >>> single_quote_character = 'а'
    >>> печать (одинарная_кавычка_символ)
    а
    >>> print(type(single_quote_character)) # проверить тип переменной.
    <класс 'ул'>
     

    Точно так же вы можете присвоить один символ переменной double_quote_character . Обратите внимание, что строка состоит из одного символа, но она «заключена» в двойные кавычки.

     >>> double_quote_character = "б"
    >>> печать (символ_двойной_кавычки)
    б
    >>> печать (тип (символ_двойной кавычки))
    <класс 'ул'>
     

    Также проверьте, можно ли присвоить переменной последовательность символов или несколько символов. Вы можете назначать как последовательности одинарных кавычек, так и последовательности двойных кавычек.

     >>> double_quote_multiple_characters = "аиоу"
    >>> single_quote_multiple_characters = 'aiou'
    >>> print(type(двойные_кавычки_multiple_characters), type(single_quote_multiple_characters))
    <класс 'ул'> <класс 'ул'>
     

    Интересно, что если вы проверите эквивалентность одного другому, используя ключевое слово is , оно вернет True.

     >>> print(double_quote_multiple_characters is double_quote_multiple_characters)
    Истинный
     

    Взгляните на назначение строк с помощью тройных кавычек и проверьте, принадлежат ли они также к классу str .

     >>> triple_quote_example = """это предложение, заключенное в тройные кавычки"""
    >>> печать (тип (triple_quote_example))
    <класс 'ул'>
     

    В приведенных выше примерах функция типа используется для отображения базового класса, к которому будет принадлежать объект. Обратите внимание, что все переменные, которые были инициированы одинарными, двойными или тройными кавычками, воспринимаются как строки. Вы можете использовать одинарные и двойные кавычки для одной строки символов. Несколько строк обычно заключаются в тройные кавычки.

    Общие методы строки

    2 возвращается, потому что положение отдельных букв в строках имеет нулевой индекс. Итак, индекс «а» в «abcde» равен 0, индекс «b» равен 1 и так далее.

    • Проверить, является ли подстрока частью большей строки. Делается это с помощью ключевого слова в и написания теста. Скелет показан ниже.

      подстрока в строке

       >>> # например, проверить, присутствует ли строка "i" в строке "pythonic" хотя бы один раз. «i» присутствует в строке. Следовательно, результат должен быть верным.
      >>> "i" в "pythonic"
      Истинный
      >>> # поскольку "x" отсутствует в строке "pythonic", приведенный ниже тест должен вернуть false
      >>> "x" в "pythonic" # "x" отсутствует в "pythonic"
      ЛОЖЬ
       
    • Присоедините список строк, используя метод соединения. Список строк записывается путем разделения последовательности запятыми , и заключения всей группы в скобки [...] . Более подробное руководство по спискам можно найти в учебнике по спискам Python. Вы можете присоединиться к списку строк, задав разделитель в качестве объекта, над которым будет действовать метод join , и список строк в качестве аргумента.

       >>> # объединить список строк 1, 2, 3 с помощью пробела в качестве разделителя и 1,2,3 в качестве списка строк. Таким образом, результатом будут строки с пробелами между ними.
      >>> comb_string = " ".join(["1", "2", "3"])
      «1 2 3»
       
    • Разорвать строку по некоторому правилу. Это принимает строку как объект, на который передается метод split с использованием оператора точки. Разделение требует пробела в качестве параметра по умолчанию.

    Например, вы можете разделить строку на основе пробелов между отдельными значениями.

     >>> # разделить строку "1 2 3" и вернуть список чисел. 
        >>> "1 2 3".split() # разделение
        ['1', '2', '3']
     

    Или вы можете разделить строку на основе разделителя, например : .

     >>> "1:2:3".split(":")
         [‘1’, ‘2’, ‘3’]
     

    Форматирование в строке:

    Строковый объект можно форматировать. Вы можете использовать %s в качестве средства форматирования, которое позволит вам вставлять различные значения в строку во время выполнения и, таким образом, форматировать строку. Символ %s заменяется тем, что передается в строку.

     >>> print("Я люблю %s в %s" % ("programming", "Python")) # строки-шаблоны
        «Я люблю программировать на Python»
     

    Вы также можете использовать ключевое слово в формате . Это позволит вам установить свои собственные средства форматирования вместо %s .

     >>> print("Я люблю {программировать} на {python}".format(programming="programming", python="Python"))
    «Я люблю программировать на Python»
     

    Проверка значения истинности строки

    Строка считается истинной в Python, если она не является пустой строкой.