Documentation Blog Login SignUp
Menu
Telegram Twitter Instagram Zen
  • Установка Python
    • Установка Python на Linux
    • Установка Python на Windows
  • Виртуальное окружение
    • Виртуальное окружение
  • Типы данных
    • Типы данных в Python
    • Boolean
    • Numbers(Числа)
    • Strings(Строки)
    • Lists(Списки)
    • Tuple(Кортежи)
    • Dict(Словари)
    • Set(Множества)
  • Встроенные функции
    • Встроенные функции
    • Функции преобразования типов
    • abs( )
    • input( )
    • isinstance( )
    • len( )
    • range( )
    • sorted( )
    • type( )
  • Оператор if
    • Оператор if-elif-else

Строки и методы строк в Python

May 29, 2020 449 просмотров
Содержание #Немного теории #Операторы для работы со строками#Индексация строк#Функции для работы со строками

 

Строки в Python

Strings(Строки) в Python являются неизменяемым, упорядоченным объектом. Строки в Python это упорядоченные последовательности символов, которые могут быть заключены в двойные, одинарные или тройные кавычки 'text', "text" и '''text''', """ text""" соответственно.

 

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

 

text1 = 'text'
text2 = "text2"
"""Данная функция возвращает список дел"""
'''Данная функция возвращает адресс'''

text = """Ты наверняка слышал, что нейросети в последнее время стали чертовски хорошо справляться с распознаванием объектов на картинках. Наша же задача — научиться пользоваться этими нейросетями, ведь их мощь может пригодиться в самых разных случаях."""

print(text)
Ты наверняка слышал, что нейросети в последнее время стали чертовски хорошо справляться с распознаванием объектов на картинках. Наша же задача — научиться пользоваться этими нейросетями, ведь их мощь может пригодиться в самых разных случаях.

 

Неизменяемость объекта string.

Давайте создадим два объекта с одинаковыми именами и распечатаем id каждого.

 

text = 'какой-то текст'
print(id(text))
140117334761264

text = 'какой-то текст2'
print(id(text))
140117401946672

 

Мы не перезаписали объект text, а создали новый. Об этом свидетельствуют разные id у объектов.

 

Операторы для работы со строками в Python

Мы уже рассматривали операторы + и * в статье о числах в Python. Эти операторы применимы и к строкам, с их помощью можно склеивать( данный метод называется конкатенацией ) и в буквальном смысле умножать строки.

 

Оператор конкатенации строк + 

my_string = 'Python -' + ' лучший язык программирования!'
print(my_string)
Python - лучший язык программирования!

string1 = 'Сервер упал'
string2 = 'Звоните Васе!'
string1 = 'Сервер упал.'
string2 = 'Звоните Васе!'
alert_message = string1 + string2
print(alert_message)
Сервер упал.Звоните Васе!

 

Оператор умножения строк *

my_string = 'go '
my_string = my_string*10

print(my_string)
go go go go go go go go go go 

 

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

Напомню, что в Python строки являются упорядоченными объектами, каждый их символ индексируется. Доступ к символам строки можно получить с помощью квадратных скобок [ ] и переданного в них значения. Индексация начинается с 0, 1, 2 и т.д. Индекс последнего символа строки равен -1, предпоследний -2 и т.д

 

my_string = 'python'

my_string[0]
'p'
my_string[2]
't'
my_string[-1]
'n'
my_string[-2]
'o'

 

Функции для работы со строками в Python

Рассмотрим некоторые популярные методы строк.

 

len(str) - Возвращает длину строки.

my_string = 'python'
len(my_string)
6

 

str.upper( ) - Возвращает все буквы строки в верхнем регистре.

my_string.upper()
'PYTHON' 

 

str.lower( ) - Возвращает все буквы строки в нижнем регистре.

my_string = 'PYTHON'
my_string.lower()
'python' 

 

str.title( ) -  Первый символ каждого слова будет переведён в верхний регистр.

my_string = 'python is cool'
my_string.title()
'Python Is Cool'

 

str.capitalize( ) - Возвращает первый символ первого слова строки в верхнем регистре.

 

str.startswith(sub) -  Возвращает True, если строка начинается с подстроки sub.

my_string = 'python is cool'
my_string2 = 'python'
my_string.starstwith(my_string2)
True

 

str.endswith(sub) - Возвращает True, если строка заканчивается на подстроку sub.

 

str.islower( ) - Возвращает True, если строка записана в нижнем регистре букв.

 

str.isupper( ) - Возвращает True, если строка записана в верхнем регистре букв.

 

str.strip( ) - Удаляет пробелы в начале и в конце строки.

my_string = '  Python Is Cool  '
my_string.strip()
'Python Is Cool'

 

str.lstrip( ) - Удалит пробелы в начале строки.

 

str.rstrip( ) - Удалит пробелы в конце строки.

 

str.find(sub[, start[, end]]) - Возвращает индекс подстроки в строке. Если не удалось найти подстроку вернёт -1.

my_string = 'Python Is Cool'
my_string.find('P')
0
my_string.find('l')
13
my_string.find('z')
-1

 

Если передать параметры start и end, поиск будет выполняться по срезу индексов str[start : finish].

my_string.find('Is', 5, 9)
7
my_string.find('Is', 0, 2)
-1

 

str.split(separator, maxsplit) - Разделяет строку на подстроки по переданному делителю(separator), maxsplit - не обязательный параметр. Подробный гайд по описанию строк - здесь.

my_string.split(' ')
['Python', 'Is', 'Cool']

my_string.split('Is')
['Python ', ' Cool']

 

str.replace(old, new[, count]) - Возвращает копию строки, где подстрока old будет заменена на new подстроку. Count - необязательный параметр указывающий на количество замен.

my_string = 'Python Is Cool'
my_string.replace('Cool', 'Awesome')
'Python Is Awesome'

 

'separator'.join(list) - Возвращает склеенную по разделителю(separator) строку из итерируемого объекта(например списка list).

my_string
'Python Is Cool'
my_string = my_string.split(" ")

my_string
['Python', 'Is', 'Cool']

'-'.join(my_string)
'Python-Is-Cool'