Строки в Python: методы и функции
Текстовые переменные str в Питоне
Строковый тип str
в Python используют для работы с любыми текстовыми данными. Python автоматически определяет тип str
по кавычкам – одинарным или двойным:
>>> stroka = 'Python' >>> type(stroka) <class 'str'> >>> stroka2 = "code" >>> type(stroka2) <class 'str'>
Для решения многих задач строковую переменную нужно объявить заранее, до начала исполнения основной части программы. Создать пустую переменную str
просто:
stroka = ''
Или:
stroka2 = ""
Если в самой строке нужно использовать кавычки – например, для названия книги – то один вид кавычек используют для строки, второй – для выделения названия:
>>> print("'Самоучитель Python' - возможно, лучший справочник по Питону.SyntaxError: invalid syntax
Кроме двойных "
и одинарных кавычек '
, в Python используются и тройные '''
– в них заключают текст, состоящий из нескольких строк, или программный код:
>>> print('''В тройные кавычки заключают многострочный текст. Программный код также можно выделить тройными кавычками.''') В тройные кавычки заключают многострочный текст. Программный код также можно выделить тройными кавычками.
Длина строки len в Python
Для определения длины строки используется встроенная функция len(). Она подсчитывает общее количество символов в строке, включая пробелы:
>>> stroka = 'python' >>> print(len(stroka)) 6 >>> stroka1 = ' ' >>> print(len(stroka1)) 1
Преобразование других типов данных в строку
Целые и вещественные числа преобразуются в строки одинаково:>>> number1 = 55 >>> number2 = 55. 5 >>> stroka1 = str(number1) >>> stroka2 = str(number2) >>> print(type(stroka1)) <class 'str'> >>> print(type(stroka2)) <class 'str'>
Решение многих задач значительно упрощается, если работать с числами в строковом формате. Особенно это касается заданий, где нужно разделять числа на разряды – сотни, десятки и единицы.
Сложение и умножение строк
Как уже упоминалось в предыдущей главе, строки можно складывать – эта операция также известна как конкатенация:
>>> str1 = 'Python' >>> str2 = ' - ' >>> str3 = 'самый гибкий язык программирования' >>> print(str1 + str2 + str3) Python - самый гибкий язык программирования
При необходимости строку можно умножить на целое число – эта операция называется репликацией:
>>> stroka = '*** ' >>> print(stroka * 5) *** *** *** *** ***
Подстроки
Подстрокой называется фрагмент определенной строки. Например, ‘abra’ является подстрокой ‘abrakadabra’. Чтобы определить, входит ли какая-то определенная подстрока в строку, используют оператор in
:
>>> stroka = 'abrakadabra' >>> print('abra' in stroka) True >>> print('zebra' in stroka) False
Индексация строк в Python
Для обращения к определенному символу строки используют индекс – порядковый номер элемента. Python поддерживает два типа индексации – положительную, при которой отсчет элементов начинается с 0 и с начала строки, и отрицательную, при которой отсчет начинается с -1 и с конца:
Положительные индексы | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
Пример строки | P | r | o | g | l | i | b |
Отрицательные индексы | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
Чтобы получить определенный элемент строки, нужно указать его индекс в квадратных скобках:
>>> stroka = 'программирование' >>> print(stroka[7]) м >>> print(stroka[-1]) е
Срезы строк в Python
Индексы позволяют работать с отдельными элементами строк. Для работы с подстроками используют срезы, в которых задается нужный диапазон:
>>> stroka = 'программирование' >>> print(stroka[7:10]) мир
Диапазон среза [a:b]
начинается с первого указанного элемента а
включительно, и заканчивается на последнем, не включая b
в результат:
>>> stroka = 'программa' >>> print(stroka[3:8]) грамм
Если не указать первый элемент диапазона [:b]
, срез будет выполнен с начала строки до позиции второго элемента b:
>>> stroka = 'программa' >>> print(stroka[:4]) прог
В случае отсутствия второго элемента [a:]
срез будет сделан с позиции первого символа и до конца строки:
>>> stroka = 'программa' >>> print(stroka[3:]) граммa
Если не указана ни стартовая, ни финальная позиция среза, он будет равен
>>> stroka = 'позиции не заданы' >>> print(stroka[:]) позиции не заданы
Шаг среза
Помимо диапазона, можно задавать шаг среза. В приведенном ниже примере выбирается символ из стартовой позиции среза, а затем каждая 3-я буква из диапазона:
>>> stroka = 'Python лучше всего подходит для новичков.' >>> print(stroka[1:15:3]) yoлшв
Шаг может быть отрицательным – в этом случае символы будут выбираться, начиная с конца строки:
>>> stroka = 'это пример отрицательного шага' >>> print(stroka[-1:-15:-4]) а нт
Срез [::-1]
может оказаться очень полезным при решении задач, связанных с палиндромами:
>>> stroka = 'А роза упала на лапу Азора' >>> print(stroka[::-1]) арозА упал ан алапу азор А
Замена символа в строке
Строки в Python относятся к неизменяемым типам данных. По этой причине попытка замены символа по индексу обречена на провал:
>>> stroka = 'mall' >>> stroka[0] = 'b' Traceback (most recent call last): File "<pyshell>", line 1, in <module> TypeError: 'str' object does not support item assignment
Но заменить любой символ все-таки можно – для этого придется воспользоваться срезами и конкатенацией. Результатом станет новая строка:
>>> stroka = 'mall' >>> stroka = 'b' + stroka[1:] >>> print(stroka) ball
Более простой способ «замены» символа или подстроки – использование метода replace(), который мы рассмотрим ниже.
Полезные методы строк
Python предоставляет множество методов для работы с текстовыми данными. Все методы можно сгруппировать в четыре категории:
- Преобразование строк.
- Оценка и классификация строк.
- Конвертация регистра.
- Поиск, подсчет и замена символов.
Рассмотрим эти методы подробнее.
Преобразование строк
Три самых используемых метода из этой группы – join(), split() и partition(). Метод join() незаменим, если нужно преобразовать список или кортеж в строку:
>>> spisok = ['Я', 'изучаю', 'Python'] >>> stroka = ' '.join(spisok) >>> print(stroka) Я изучаю Python
При объединении списка или кортежа в строку можно использовать любые разделители:
>>> kort = ('Я', 'изучаю', 'Django') >>> stroka = '***'.join(kort) >>> print(stroka) Я***изучаю***Django
Метод split() используется для обратной манипуляции – преобразования строки в список:
>>> text = 'это пример текста для преобразования в список' >>> spisok = text.split() >>> print(spisok) ['это', 'пример', 'текста', 'для', 'преобразования', 'в', 'список']
По умолчанию split() разбивает строку по пробелам. Но можно указать любой другой символ – и на практике это часто требуется:
>>> text = 'цвет: синий; вес: 1 кг; размер: 30х30х50; материал: картон' >>> spisok = text. split(';') >>> print(spisok) ['цвет: синий', ' вес: 1 кг', ' размер: 30х30х50', ' материал: картон']
Метод partition() поможет преобразовать строку в кортеж:
>>> text = 'Python - простой и понятный язык' >>> kort = text.partition('и') >>> print(kort) ('Python - простой ', 'и', ' понятный язык')
В отличие от split(), partition() учитывает только первое вхождение элемента-разделителя (и добавляет его в итоговый кортеж).
Оценка и классификация строк
В Python много встроенных методов для оценки и классификации текстовых данных. Некоторые из этих методов работают только со строками, в то время как другие универсальны. К последним относятся, например, функции min() и max():
>>> text = '12345' >>> print(min(text)) 1 >>> print(max(text)) 5
В Python есть специальные методы для определения типа символов. Например, isalnum() оценивает, состоит ли строка из букв и цифр, либо в ней есть какие-то другие символы:
>>> text = 'abracadabra123456' >>> print(text.isalnum()) True >>> text1 = 'a*b$ra cadabra' >>> print(text1.isalnum()) False
Метод isalpha() поможет определить, состоит ли строка только из букв, или включает специальные символы, пробелы и цифры:
>>> text = 'программирование' >>> print(text.isalpha()) True >>> text2 = 'password123' >>> print(text2.isalpha()) False
С помощью метода isdigit() можно определить, входят ли в строку только цифры, или там есть и другие символы:
>>> text = '1234567890' >>> print(text.isdigit()) True >>> text2 = '123456789o' >>> print(text2.isdigit()) False
Поскольку вещественные числа содержат точку, а отрицательные – знак минуса, выявить их этим методом не получится:
>>> text = '5. 55' >>> print(text.isdigit()) False >>> text1 = '-5' >>> print(text1.isdigit()) False
Если нужно определить наличие в строке дробей или римских цифр, подойдет метод isnumeric():
>>> text = '½⅓¼⅕⅙' >>> print(text.isdigit()) False >>> print(text.isnumeric()) True
Методы islower() и isupper() определяют регистр, в котором находятся буквы. Эти методы игнорируют небуквенные символы:
>>> text = 'abracadabra' >>> print(text.islower()) True >>> text2 = 'Python bytes' >>> print(text2.islower()) False >>> text3 = 'PYTHON' >>> print(text3.isupper()) True
Метод isspace() определяет, состоит ли анализируемая строка из одних пробелов, или содержит что-нибудь еще:
>>> stroka = ' ' >>> print(stroka. isspace()) True >>> stroka2 = ' a ' >>> print(stroka2.isspace()) False
Конвертация регистра
Как уже говорилось выше, строки относятся к неизменяемым типам данных, поэтому результатом любых манипуляций, связанных с преобразованием регистра или удалением (заменой) символов будет новая строка.
Из всех методов, связанных с конвертацией регистра, наиболее часто используются на практике два – lower() и upper(). Они преобразуют все символы в нижний и верхний регистр соответственно:
>>> text = 'этот текст надо написать заглавными буквами' >>> print(text.upper()) ЭТОТ ТЕКСТ НАДО НАПИСАТЬ ЗАГЛАВНЫМИ БУКВАМИ >>> text = 'зДесь ВСе букВы рАзныЕ, а НУжнЫ проПИСНыЕ' >>> print(text.lower()) здесь все буквы разные, а нужны прописные
Иногда требуется преобразовать текст так, чтобы с заглавной буквы начиналось только первое слово предложения:
>>> text = 'предложение должно начинаться с ЗАГЛАВНОЙ буквы. ' >>> print(text.capitalize()) Предложение должно начинаться с заглавной буквы.
Методы swapcase() и title() используются реже. Первый заменяет исходный регистр на противоположный, а второй – начинает каждое слово с заглавной буквы:
>>> text = 'пРИМЕР иСПОЛЬЗОВАНИЯ swapcase' >>> print(text.swapcase()) Пример Использования SWAPCASE >>> text2 = 'тот случай, когда нужен метод title' >>> print(text2.title()) Тот Случай, Когда Нужен Метод Title
Поиск, подсчет и замена символов
Методы find() и rfind() возвращают индекс стартовой позиции искомой подстроки. Оба метода учитывают только первое вхождение подстроки. Разница между ними заключается в том, что find() ищет первое вхождение подстроки с начала текста, а rfind() – с конца:
>>> text = 'пример текста, в котором нужно найти текстовую подстроку' >>> print(text. find('текст')) 7 >>> print(text.rfind('текст')) 37
Такие же результаты можно получить при использовании методов index() и rindex() – правда, придется предусмотреть обработку ошибок, если искомая подстрока не будет обнаружена:
>>> text = 'Съешь еще этих мягких французских булок!' >>> print(text.index('еще')) 6 >>> print(text.rindex('чаю')) Traceback (most recent call last): File "<pyshell>", line 1, in <module> ValueError: substring not found
Если нужно определить, начинается ли строка с определенной подстроки, поможет метод startswith():
>>> text = 'Жила-была курочка Ряба' >>> print(text.startswith('Жила')) True
Чтобы проверить, заканчивается ли строка на нужное окончание, используют endswith():
>>> text = 'В конце всех ждал хэппи-енд' >>> print(text. endswith('енд')) True
Для подсчета числа вхождений определенного символа или подстроки применяют метод count() – он помогает подсчитать как общее число вхождений в тексте, так и вхождения в указанном диапазоне:
>>> text = 'Съешь еще этих мягких французских булок, да выпей же чаю!' >>> print(text.count('е')) 5 >>> print(text.count('е', 5, 25)) 2
Методы strip(), lstrip() и rstrip() предназначены для удаления пробелов. Метод strip() удаляет пробелы в начале и конце строки, lstrip() – только слева, rstrip() – только справа:
>>> text = ' здесь есть пробелы и слева, и справа ' >>> print('***', text.strip(), '***') *** здесь есть пробелы и слева, и справа *** >>> print('***', text.lstrip(), '***') *** здесь есть пробелы и слева, и справа *** >>> print('***', text. rstrip(), '***') *** здесь есть пробелы и слева, и справа ***
Метод replace() используют для замены символов или подстрок. Можно указать нужное количество замен, а сам символ можно заменить на пустую подстроку – проще говоря, удалить:
>>> text = 'В этой строчке нужно заменить только одну "ч"' >>> print(text.replace('ч', '', 1)) В этой строке нужно заменить только одну "ч"
Стоит заметить, что метод replace() подходит лишь для самых простых вариантов замены и удаления подстрок. В более сложных случаях необходимо использование регулярных выражений, которые мы будем изучать позже.
Практика
Задание 1
Напишите программу, которая получает на вход строку и выводит:
- количество символов, содержащихся в тексте;
- True или False в зависимости от того, являются ли все символы буквами и цифрами.
Решение:
text = input() print(len(text)) print(text.isalpha())
Задание 2
Напишите программу, которая получает на вход слово и выводит True, если слово является палиндромом, или False в противном случае. Примечание: для сравнения в Python используется оператор ==
.
Решение:
text = input().lower() print(text == text[::-1])
Задание 3
Напишите программу, которая получает строку с именем, отчеством и фамилией, написанными в произвольном регистре, и выводит данные в правильном формате. Например, строка алеКСандр СЕРГЕЕВИЧ ПушкиН должна быть преобразована в Александр Сергеевич Пушкин.
Решение:
text = input() print(text. title())
Задание 4
Имеется строка 12361573928167047230472012. Напишите программу, которая преобразует строку в текст один236один573928один670472304720один2.
Решение:
text = '12361573928167047230472012' print(text.replace('1', 'один'))
Задание 5
Напишите программу, которая последовательно получает на вход имя, отчество, фамилию и должность сотрудника, а затем преобразует имя и отчество в инициалы, добавляя должность после запятой.
Пример ввода:
Алексей Константинович Романов бухгалтер
Вывод:
А. К. Романов, бухгалтер
Решение:
first_name, patronymic, last_name, position = input(), input(), input(), input() print(first_name[0] + '. ', patronymic[0] + '.', last_name + ',', position)
Задание 6
Напишите программу, которая получает на вход строку текста и букву, а затем определяет, встречается ли данная буква (в любом регистре) в тексте. В качестве ответа программа должна выводить True или False.
Пример ввода:
ЗонтИК к
Вывод:
True
Решение:
text = input().lower() letter = input() print(letter in text)
Задание 7
Напишите программу, которая определяет, является ли введенная пользователем буква гласной. В качестве ответа программы выводит True или False, буквы могут быть как в верхнем, так и в нижнем регистре.
Решение:
vowels = 'аиеёоуыэюя' letter = input(). lower() print(letter in vowels)
Задание 8
Напишите программу, которая принимает на вход строку текста и подстроку, а затем выводит индексы первого вхождения подстроки с начала и с конца строки (без учета регистра).
Пример ввода:
Шесть шустрых мышат в камышах шуршат ша
Вывод:
16 33
Решение:
text, letter = input().lower(), input() print(text.find(letter), text.rfind(letter))
Задание 9
Напишите программу для подсчета количества пробелов и непробельных символов в введенной пользователем строке.
Пример ввода:
В роще, травы шевеля, мы нащиплем щавеля
Вывод:
Количество пробелов: 6, количество других символов: 34
Решение:
text = input() nospace = text. replace(' ', '') print(f"Количество пробелов: {text.count(' ')}, количество других символов: {len(nospace)}")
Задание 10
Напишите программу, которая принимает строку и две подстроки start и end, а затем определяет, начинается ли строка с фрагмента start, и заканчивается ли подстрокой end. Регистр не учитывать.
Пример ввода:
Программирование на Python - лучшее хобби про про
Вывод:
True False
Решение:
text, start, end = input().lower(), input(), input() print(text.startswith(start)) print(text.endswith(end))
Подведем итоги
В этой части мы рассмотрели самые популярные методы работы со строками – они пригодятся для решения тренировочных задач и в разработке реальных проектов. В следующей статье будем разбирать методы работы со списками.
***
📖 Содержание самоучителя
- Особенности, сферы применения, установка, онлайн IDE
- Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
- Типы данных: преобразование и базовые операции
- Методы работы со строками
- Методы работы со списками и списковыми включениями
- Методы работы со словарями и генераторами словарей
- Методы работы с кортежами
- Методы работы со множествами
- Особенности цикла for
- Условный цикл while
- Функции с позиционными и именованными аргументами
- Анонимные функции
- Рекурсивные функции
- Функции высшего порядка, замыкания и декораторы
- Методы работы с файлами и файловой системой
- Регулярные выражения
- Основы скрапинга и парсинга
***
Материалы по теме
- ТОП-15 трюков в Python 3, делающих код понятнее и быстрее
Строки в Python.
Создание, объединение, повторение.Введение
Строки (strings) в Python представляют собой последовательности из одного или более знаков (букв, цифр, символов). И хотя мы можем использовать эту последовательность в каких-то операциях, сама она является неизменной. То есть строку нельзя изменить, не создав при этом другой объект, занимающий иной адрес в памяти.
Благодаря широкому распространению текста в повседневной жизни, строка является важным типом данных, присутствующим в мире программирования.
В этом руководстве мы рассмотрим, как создавать и выводить на экран строки, как их объединять и повторять, а также, как устанавливать в качестве значения для переменных.
Создание строк и вывод их на экран
Строки в Python записываются либо с помощью одинарных » либо с помощью двойных «» кавычек. Поэтому, для того, чтобы создать строку, давайте заключим последовательность символов в один из видов этих кавычек.
'Это строка заключена в одинарные кавычки'
"Это строка заключена в двойные кавычки"
Вы можете использовать либо одинарные либо двойные кавычки, но чтобы вы не выбрали, вам следует придерживаться этого на протяжении всей программы.
Мы можем выводить на экран наши строки просто используя функцию print()
.
print("Давайте выведем на экран эту строку!") Давайте выведем на экран эту строку!
Используя знания о форматировании строк в Python давайте теперь посмотрим, как мы можем обрабатывать и изменять строки в программах.
Конкатенация строк
Конкатенация строк означает соединение строк вместе от первого до последнего символа для создания новой строки. Для соединения строк используется оператор +
. При этом имейте в виду, что если мы работаем с числами, +
будет оператором сложения, а если со строками оператором конкатенации.
Давайте соединим строки "Sammy"
и "Shark"
вместе с помощью функции print()
:
print("Sammy" + "Shark") SammyShark
Следите за тем, чтобы никогда не использовать оператор «+» между двумя разными типами данных. Например, мы не можем объединять строки и числа вместе. И вот что произойдет, если мы вдруг попробуем это сделать:
print("Sammy" + 27) TypeError: Can't convert 'int' object to str implicitly
Если бы мы захотели создать строку "Sammy27"
, мы могли бы это сделать поставив число 27
в кавычки "27"
, таким образом превратив его из целого числа в строку. Преобразование числа в строку может быть полезным, когда мы, например, имеем дело с индексами или телефонными номерами. Например, когда нам нужно объединить телефонный код страны и телефонный номер, но при этом мы не хотим их складывать .
Когда мы соединяем одну или более строк вместе с помощью конкатенации, то создаем новую строку, которую сможем использовать в дальнейшем в нашей программе.
Как работает конкатенация строк в Python 3? Примеры.
Повторение строк
Однажды у вас могут возникнуть обстоятельства, при которых вы захотите использовать Python для автоматизации некоторых задач. И одной из таких задач может стать многократное повторение строки в тексте. Для того чтобы это осуществить, потребуется воспользоваться оператором *
, который, как и оператор +
, отличается от того, что используется вместе с числами. При использовании с одной строкой и одним числом *
становится оператором повторения, а не умножения. Он лишь повторяет заданный текст указанное число раз.
Давайте выведем на экран "Sammy"
9 раз с помощью оператора *
.
print("Sammy" * 9) SammySammySammySammySammySammySammySammySammy
Таким образом, с помощью оператора повторения мы можем сколь угодно клонировать нужный нам текст.
Сохранение строк в качестве значения для переменных
В общем смысле слова, переменные являются последовательностью символов, которую вы можете использовать для хранения данных в программе. Например, их можно представить в качестве неких пустых ящиков, в которое вы помещаете различные объекты. Такими объектами может стать любой тип данных, и строки в этом смысле не исключение. Однажды создав переменную, мы сильно упрощаем себе работу со строкой на протяжении всей программы.
Для того чтобы сохранить значение строки внутри переменной, нам просто нужно присвоить строке ее имя. В следующем примере давайте объявим my_str
в качестве нашей переменной:
my_str = "Sammy likes declaring strings."
Теперь, когда у нас есть переменная my_str
, назначенная нужной нам строке, мы можем вывести ее на экран:
print(my_str)
И получим следующий вывод:
Sammy likes declaring strings.
Использование переменных вместо строк не только дает нам возможность не переписывать строки каждый раз, когда нам это нужно, но также сильно упрощает работу с ними внутри программы.
Заключение
Итак, в этом руководстве мы рассмотрели основы работы со строковыми данными в Python 3. А именно, научились создавать и выводить на экран строки, объединять их и повторять, а также сохранять строки в переменных. Но все это конечно же является лишь самыми начальными знаниями о возможностях использования строк в Python 3.
Введение в строки Python
Python — это высокоуровневый интерпретируемый язык программирования, разработанный в конце 1980-х годов, который за последние несколько лет получил огромное распространение. Хотя его можно использовать во многих различных приложениях, его возрождение популярности было вызвано ростом науки о данных и бизнес-аналитики. В 2018 году Python был признан самой востребованной технологией года по результатам опроса разработчиков Stack Overflow.
В этой статье мы узнаем об одном из основных типов данных программирования на Python: о строках Python, включая обзор того, как с ними работать, строковых методах Python и многом другом. Итак, приступим.
Что такое строка Python?
«Строка» — это тип данных в Python, состоящий из набора символов. Он может включать буквы, цифры и даже специальные символы. Например: «Упрощенное обучение», «Версия 1.0».
Как создать строку в Python?
Поместите последовательность букв в одинарные или двойные кавычки, чтобы создать строку, а затем распределите ее по переменной. Вы также можете указать переменным строку символов или несколько символов. Могут быть назначены последовательности одинарных и двойных кавычек.
Работа со строками
1. Как создать строку
Строковые литералы записываются путем заключения последовательности символов в одинарные кавычки («Привет»), двойные кавычки («Привет») или тройные кавычки («Привет»).
Пример:
Рис. Пример строк Python
2. Доступ к символам по индексу строки
Индексация строки начинается с 0. Мы можем получить доступ к отдельным символам в строке, указав номер индекса в квадратных скобках.
Рис: Доступ к символу строки
Мы также можем вернуть диапазон символов, используя синтаксис среза. При нарезке начальный индекс включается в вывод, но конечный индекс не включается.
Рис: Разрезание нити
3. Длина строки
Чтобы найти длину строки, используйте встроенную функцию len().
Пример:
Рис: Чтобы найти длину строки
4. Конкатенация строк
Термин «конкатенация» означает объединение двух строк в одну строку. Мы можем объединить две строки с помощью оператора ( + ).
Пример:
Рис. Конкатенация строк Python
Разделение строки
Метод split() Python разделяет заданную строку на основе определенного разделителя.
Синтаксис: str.split(‘разделитель’)
Пример:
Рис. Разделение строки
Индексация и разделение строк
Во многих языках программирования числовой индекс или элемент данных можно использовать для прямого доступа к одному элементу внутри организованного набора данных. Индексация — это имя, данное этой процедуре. Строки можно индексировать таким образом, потому что в Python они представляют собой структурированные серии символьных данных. Имя строки, связанное с числом, заключенным в квадратные скобки, может использоваться для доступа к определенным символам в строке.
Объект списка, возвращаемый функцией split(), содержит строковые элементы после разделения строки с помощью назначенного разделителя, это называется разделением строки.
Строковые функции Python
Для изменения строк доступны многочисленные встроенные функции Python. Ниже приведены несколько строковых функций, которые вы должны знать:
- format(): используется для преобразования строки фреймворка и предоставленных значений в отформатированную строку.
- split(): чтобы разделить строку на последовательность строк в зависимости от разделителя, используйте функцию Python string split().
- join(): строковый объект, используемый в качестве разделителя в возвращаемом этой функцией значении, представляет собой новую строку, созданную путем объединения строк в записи.
- upper(): функция Python str.upper() позволяет преобразовать строку в верхний регистр.
- lower(): эта функция создает новую строчную строку.
- replace(): функция replace() языка Python используется для создания новой строки путем замены некоторых символов в существующей строке.
- translate(): с помощью предоставленной таблицы перевода программа Python String translate() создает новую строку для каждого элемента исходной строки.
- count(): функция Python для подсчета строк возвращает количество раз, когда указанная подстрока появляется в заданной строке.
- casefold(): метод casefold() строки Python возвращает дубликат строки, свернутый регистром. Используйте эту функцию для сравнения строк без учета регистра.
- expandtabs(): метод expandtabs() в Python создает новую строку, заменяя символы табуляции (t) одним или несколькими пробелами.
Обновление строк
Переназначив переменную другой строке, вы можете обновить строку Python. Новое значение может быть связано со старым значением или с совершенно отдельной строкой.
Обращение строки Python
Возможно, вам придется работать со строками Python в обратном порядке, если вы часто используете их в своем коде. Python поставляется с несколькими полезными инструментами и методами, которые могут пригодиться в определенных обстоятельствах. Вы можете использовать их для быстрого и эффективного создания перевернутых дубликатов существующих строк. В редких случаях может потребоваться работа со строками Python в обратном порядке.
Нарезка строки
Python предлагает функцию slice(), которая создает объект, называемый «срезом», который содержит набор индексов «начало» и «конец», а также значения шага. Чтобы быть более точным, переменные (начало, остановка, шаг). Этот оператор настолько гибок и синтаксически элегантен, что позволяет извлекать из строки несколько комбинаций подстрок, используя всего несколько аргументов. В программировании на Python нарезка строк — это процесс извлечения подстроки из заданной строки путем разрезания ее по индексной строке от «начала» до «конца».
Поместите строку символов в одинарные или двойные кавычки, чтобы создать строку, а затем распределите ее по переменной. Также посмотрите, можете ли вы дать переменной строку символов или несколько символов. Можно назначать как последовательности одинарных кавычек, так и последовательности двойных кавычек.
Строковые константы Python
Когда необходимо определить фиксированное значение переменной и его нельзя изменить в другом месте кода после объявления, используется константа. Некоторые встроенные строковые константы в строковом модуле Python доступны для использования в различных контекстах. В Python вы также можете определить уникальную строковую константу.
Пример:
Пробел: включает следующие символы: вертикальная табуляция, пробел, перевод строки, возврат и табуляция.
Версия для печати: включает числа, знаки пунктуации и пробельные значения.
Многострочные строки
Строки Python — это строки, содержащие много строк, а не одну строку. Многострочная строка может быть создана в Python несколькими способами. Python предлагает широкий спектр вариантов форматирования строк. Python читает многострочные строки так же, как и однострочные. Поскольку в Python существует несколько методов создания многострочных строк, все из которых дают одинаковые результаты, читаемость кода является нашей главной заботой.
Перебор строки в цикле
Выполнение ряда операторов до тех пор, пока не будет выполнено заданное условие, называется итерацией или циклом. Чтобы получить элементы структуры данных, мы можем использовать цикл в Python. Строка сравнима с массивом символов. Чтобы отобразить каждый символ в строке отдельно, мы можем просмотреть строку в цикле.
Длина строки: длину строки можно получить с помощью функции Python String len(). Строка представляет собой группу символов, и количество символов в строке определяет ее длину.
Строковые операции Python
Мы рассмотрим различные действия, которые можно выполнять со строками вместо их немедленного вывода на печать. Одинарные кавычки также можно использовать для назначения строки. Однако, если само выделяемое значение содержит одинарные кавычки, вы столкнетесь с проблемами.
Строковые специальные операторы
Ниже приведены некоторые специальные операторы:
- + : значения по обе стороны от оператора добавляются путем конкатенации.
- * : Объединение нескольких экземпляров одной и той же строки вместе для формирования новых строк является повторением.
- [ : ] : Отрежьте от предоставленного диапазона, чтобы получить символы.
Тройные кавычки
Чтобы избежать экранирования, мы можем использовать тройные кавычки для представления строк, содержащих как одинарные, так и двойные кавычки. Следует отметить, что если строка содержит одинарную или двойную кавычку в начале или конце, и мы хотим использовать для строки тройные кавычки, мы должны использовать кавычки, отличные от начальных или конечных кавычек.
Строка Юникода
Поскольку строковый тип Python использует стандарт Unicode для представления символов, приложения могут использовать любую из этих многочисленных комбинаций символов.
Каждый символ, используемый в лингвистической структуре, будет указан по имени и ему будет присвоен отдельный код в соответствии со спецификацией Unicode. Спецификации Unicode постоянно обновляются для включения новых языков и символов.
Тест на принадлежность к строке
Python имеет два оператора, которые используются для определения членства: (в) и (не в). Они используются для определения того, является ли данный элемент компонентом определенной строки.
True является результатом ключевого слова оператора «in». Если в указанной строке появляется указанный элемент или полная подстрока, возвращается значение True; в противном случае Ложь.
Как сравнивать строки в Python?
Равенство Python (==) и операторы сравнения (, >,!=, =, >=) используются для сравнения строк. Для сравнения двух строк не существует специальных методов. Python сравнивает каждый символ в двух строках отдельно. После обнаружения различных символов значения кодовой точки Unicode каждого символа сравниваются. Предполагается, что символ с меньшим значением Unicode меньше.
Конструктор Str()
В Python есть встроенная функция str(), которая возвращает печатное строковое представление любого объекта.
Пример:
Рис. Преобразование любого типа данных в строку Python
Escape-последовательность Python
Если мы хотим напечатать текст (например: Майк сказал мне: «Джек сказал: «Не делай этого»»), мы не можем записать его, используя одинарные или двойные кавычки. Он покажет синтаксическую ошибку.
Рис: Синтаксическая ошибка
Мы можем использовать управляющую последовательность, чтобы избежать этой проблемы. Ряд символов имеет косвенное значение, если они помещены в двойные кавычки.
Пример:
Рис: последовательность обратной косой черты строки Python
Вот несколько полезных escape-последовательностей для использования со строками:
Рис. Некоторые полезные управляющие последовательности
Строковые методы
В Python есть набор встроенных методов, которые можно использовать для строковых объектов. Это:
Заглавная буква()
Метод capitalize() преобразует первый символ строки в верхний регистр, а все остальные символы переводит в нижний.
Синтаксис: строка. капитализировать()
Пример:
Рис: метод capitalize()
Полоса()
Метод strip() удаляет все пробелы в начале и в конце строки.
Синтаксис: string.strip()
Пример:
Рис: метод strip()
Нижний()
Метод lower() возвращает строку в нижнем регистре.
Пример:
Рис: метод lower()
Верхний()
Метод upper() возвращает строку в верхнем регистре.
Пример:
Рис: метод upper()
Заменить()
Метод replace() заменяет одну строку другой.
Пример:
Рис: метод replace()
Если вы хотите получить навыки, необходимые для работы в сложной, полезной и динамичной роли в сфере ИТ, мы вас поддержим! Откройте для себя бесконечные возможности с помощью этой инновационной программы для аспирантов по курсу Full Stack Web Development, разработанному нашими партнерами из Caltech CTME. Зарегистрируйтесь сегодня!
строк Python и выше
Мы обсудили строки Python и их различные операции и методы. Посмотрите наш видеоурок, чтобы узнать больше о строках Python. Кроме того, ознакомьтесь с нашим руководством по Map in Python. Simplilearn предлагает несколько онлайн-образовательных программ Python, которые помогут вам быстро освоить и подготовиться к карьере в этой захватывающей и востребованной технологии, в том числе наш базовый курс последипломной подготовки по полнофункциональной веб-разработке.
Питон | Струны | Codecademy
Строка — это последовательность символов, заключенная в пару одинарных кавычек ( '
) или двойные кавычки ( "
). Строки могут хранить слова, предложения или целые абзацы. Они могут быть любой длины и могут содержать буквы, цифры, символы и пробелы.
message1 = "I am a string"
message2 = 'Я тоже строка'
Другие типы данных, такие как целых
, двойных
и логических
также могут быть строками
Пример | Строка? |
---|---|
«2» (с двойными кавычками) | Да ✅ |
‘3.6’ (с одинарными кавычками) | Да ✅ |
«Правда» (также в кавычках) | Да ✅ |
7 (целое) | Нет ❌ |
Привет (без кавычек) | Нет ❌ |
Истинно (логическое значение) | Нет ❌ |
Строки неизменяемы; они не могут измениться. Каждый раз, когда над строкой выполняется операция, в памяти создается новая строка.
Доступ к символам строки
Строки в Python технически представляют собой тип списка, в котором каждый символ является отдельным элементом. Это означает, что к каждому символу в строке можно получить индивидуальный доступ по индексу, как и к элементам в списке:
myString = "Hello, World!"
var_1 = myString[0]
var_2 = myString[7:]
var_3 = myString[1:4]
print("var_1: " + var_1) # Вывод: var_1: H
print("var_2: " + var_2) # Вывод: var_2: Мир!
print("var_3: " + var_3) # Вывод: var_3: ell
Если будет предпринята попытка доступа к индексу за пределами границ, будет возвращено IndexError
.
name = "phillis"
name[8] # Выдает ошибку IndexError
Многострочные строки
Строки могут быть длинными или короткими. Для более длинного текста можно использовать многострочную строку. Многострочные строки начинаются и заканчиваются тремя одинарными или двойными кавычками:
my_string = """Если бы это было сделано тогда, когда это было сделано, то это было бы хорошо
Это было сделано быстро: если бы убийство
Могло затоптать следствие, и поймать
С его прекращением успеха; что но этот удар
Может быть, все и конец всего здесь,
Но здесь, на этом берегу и отмели времени,
Мы прыгнем в грядущую жизнь."""
Экранирующие символы
Иногда строка может содержать символ, который Python пытается интерпретировать, например 9
SyntaxError: недопустимый синтаксис
Эти символы можно «экранировать», предварительно добавив обратную косую черту. \
называется escape-символом.
Обратная косая черта не будет видна, если будет напечатана строка:
my_string = 'Прекрасный день!'
print(my_string)
# Вывод: Прекрасный день!
Этой проблемы можно избежать, заключая строки, содержащие '
символов, в двойные кавычки:
my_string = "Прекрасный день!"
print(my_string)
# Вывод: Прекрасный день!
Python также имеет ряд непечатаемых символов, которые могут изменять строки. Например, \n
добавляет новую строку, а \t
добавляет вкладку:
note = "Я сверху!\nЯ снизу. \n\tУ меня есть отступ!"
print(note)
Это выведет:
Я на вершине!
Я на дне.
У меня отступ!
Изменение строк
Python имеет специальные операторы для изменения строк. Например, +
можно использовать для объединения строк, а *
— для умножения строки. Ключевое слово в
можно использовать, чтобы увидеть, существует ли данный символ или подстрока в строке
.
string_one = "Привет,"
string_two = "Мир!"
combo = string_one + string_two
print(combo)
# Вывод: Hello, World!
new_combo = combo * 2
print(new_combo)
# Вывод: Привет, мир! Привет, мир!
if "Мир" в new_combo:
print("Это здесь!")
# Вывод: Это здесь!
Строки также могут быть отформатированы одним из следующих способов:
- Флаг
f/F
(помещается перед открывающей кавычкой). - Метод .format() (требуется добавление заполнителей вручную).
Сравнение строк
Python может использовать операторы сравнения для сравнения содержимого двух строк. Операторы ведут себя так же, как и с числовыми аргументами:
Оператор | Срок | Описание |
---|---|---|
== | Равно | Возвращает True , если две строки равны. |
!= | Не равно | Возвращает True , если две строки не равны. |
< | Менее | Возвращает True , если левая строка лексически предшествует правой строке. |
> | Больше | Возвращает True — левая строка лексически следует за правой строкой. |
<= | Меньше или равно | Возвращает True , если левая строка равна или лексически предшествует правой строке. Оставить комментарий
|