Строки в Python

14.02.2018

Теги: PythonТипыДанных

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

Существует несколько литералов строк:

>>> spam = "That is Alice's cat."
>>> spam
"That is Alice's cat."
>>> spam = 'That is Alice\'s cat.'
>>> spam
"That is Alice's cat."

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

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

  • \n — Перевод строки
  • \a — Звонок
  • \f — Перевод страницы
  • \r — Возврат каретки
  • \t — Горизонтальная табуляция
  • \v — Вертикальная табуляция

Экранированные символы \' и \" позволяют вставлять в строку соответственно апострофы и кавычку. Если перед открывающей кавычкой стоит символ «r» (в любом регистре), то механизм экранирования отключается:

>>> file = r'C:\file.txt'
>>> file
'C:\\file.txt'

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

>>> spam = """
... Lorem ipsum dolor sit amet, consectetur
... adipiscing elit, sed do eiusmod tempor
... incididunt ut labore et dolore magna aliqua.
... """
>>> spam
'[red]\n[/red]Lorem ipsum dolor sit amet, consectetur[red]\n[/red]adipiscing elit, sed do eiusmod tempor[red]\n[/red]incididunt ut labore et dolore magna aliqua.[red]\n[/red]'

Функции и методы строк

Конкатенация и репликация

>>> spam = 'Hello' + ' ' + 'world!'
>>> spam
'Hello world!'
>>> 'hello' * 3
'hellohellohello'

Доступ по индексу и срезы

>>> spam = 'Hello world!'
>>> spam[0]
'H'
>>> spam[4]
'o'
>>> spam[-1]
'!'
>>> spam[0:5]
'Hello'
>>> spam[6:]
'world!'
>>> spam[:]
'Hello world!'

Использование операторов in и not in

>>> 'Hello' in 'Hello world!'
True
>>> 'cat' not in 'cats and dogs'
False

Методы upper(), lower(), isupper(), islower()

>>> spam = 'Hello world'
>>> spam.upper()
'HELLO WORLD'
>>> spam.lower()
'hello world'
>>> upper = spam.upper()
>>> upper
'HELLO WORLD'
>>> upper.isupper()
True
>>> '12345'.islower()
False

Методы isalpha(), isalnum(), isdecimal(), isspace(), istitle()

>>> 'abcde'.isalpha()
True
>>> 'abc123'.isalnum()
True
>>> '12345'.isdecimal()
True
>>> ' '.isspace()
True
>>> '\t\n'.isspace()
True
>>> 'This Is Title Case'.istitle()
True

Методы startswith() и endswith() возвращают True, если строки, для которых они вызываются, соответственно начинаются или заканчиваются строкой, переданной методу.

>>> spam = 'Hello world!'
>>> spam.startswith('Hello')
True
>>> spam.endswith('!')
True

Методы join() и split()

>>> ','.join(['cat', 'rat', 'dog'])
'cat,rat,dog'
>>> 'My name is Simon'.split()
['My', 'name', 'is', 'Simon']
>>> 'cat,rat,dog'.split(',')
['cat', 'rat', 'dog']

Удаление пробелов с помощью методов strip(), lstrip(), rstrip()

>>> spam = ' Hello world! '
>>> spam.strip()
'Hello world!'
>>> spam.lstrip()
'Hello world! '
>>> spam.rstrip()
' Hello world!'
>>> spam = 'Hello world!'
>>> spam.strip('H!')
'ello world'

Копирование строки в буфер обмена и вставка из буфера обмена

>>> import pyperclip
>>> pyperclip.copy('Hello world!')
>>> pyperclip.paste()
'Hello world!'

Поиск: Python • Строка • Типы данных

Каталог оборудования
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Производители
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Функциональные группы
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.