Содержание

Все основные строковые функции в Python: виды, примеры и таблица

Главная » String Python

0

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

Есть много функций для работы со строкой. Однако запомнить их все нереально. Итак, здесь я делю их на разные категории:

  • Обязательные строковые функции;
  • Дополнительные строковые функции;
  • Разные строковые функции;
  • Встроенные функции, работающие со строкой;
  • Полезные.

Содержание

  1. Обязательные строковые функции
  2. Дополнительные строковые функции
  3. Разные строковые функции
  4. Встроенные функции, работающие со строкой
  5. Полезные строковые операции
  6. Нужно ли их все запоминать?

Обязательные строковые функции

format()
Он используется для создания форматированной строки из строки шаблона и предоставленных значений.
split()Функция string split() используется для разделения строки на список строк на основе разделителя.
join()Эта функция возвращает новую строку, которая является конкатенацией строк в итерируемом объекте со строковым объектом в качестве разделителя.
strip()Используется для удаления пробелов в строковом объекте.
format_map()Функция string format_map() возвращает отформатированную версию строки с использованием подстановок из предоставленного сопоставления.
upper()
Мы можем преобразовать строку в верхний регистр в Python с помощью функции str.upper().
lower()Эта функция создает новую строку в нижнем регистре.
replace()Функция string replace() используется для создания новой строки путем замены некоторых частей другой строки.
find()Метод String find() используется для поиска индекса подстроки в строке.
translate()Функция String translate() возвращает новую строку, в которой каждый символ в строке заменяется с использованием данной таблицы перевода.

Дополнительные строковые функции

encode()Функция string encode() используется для кодирования строки с использованием предоставленной кодировки.
count()Функция String count() возвращает количество вхождений подстроки в заданной строке.
startwith()Функция startwith() возвращает True, если строка начинается с заданного префикса, в противном случае возвращает False.
stringndswith()Функция stringndswith() возвращает True, если строка заканчивается заданным суффиксом, в противном случае возвращает False.
capitalize()Функция String capitalize() возвращает версию строки с заглавной буквы.
center()Функция string center() возвращает центрированную строку указанного размера.
casefold()Функция casefold() строки в Python возвращает копию строки в развернутом виде. Эта функция используется для сравнения строк без учета регистра.
expandtabs()Функция Python string expandtabs() возвращает новую строку, в которой символы табуляции (\t) заменены одним или несколькими пробелами.
index()Функция String index() возвращает наименьший индекс, в котором находится указанная подстрока.
__contains__()Класс String имеет функцию __contains __(), которую мы можем использовать, чтобы проверить, содержит ли он другую строку или нет. Мы также можем использовать оператор «in» для выполнения этой проверки.

Разные строковые функции

isalnum()Функция isalnum() Python возвращает True, если она состоит только из буквенно-цифровых символов.
isalpha()Функция String isalpha() возвращает True, если все символы в строке являются алфавитными, в противном случае – False.
isdecimal()Функция String isdecimal() возвращает True, если все символы в строке являются десятичными символами, в противном случае – False.
isdigit()Функция String isdigit() возвращает True, если все символы в строке являются цифрами, в противном случае – False.
isidentifier()Функция String isidentifier() возвращает True, если строка является допустимым идентификатором в соответствии с определением языка Python.
islower()Python String islower() возвращает True, если все символы в регистре в строке строчные и есть хотя бы один регистр, в противном случае он возвращает False.
isnumeric()Функция String isnumeric() возвращает True, если все символы в строке числовые, в противном случае – False. Если строка пуста, эта функция возвращает False.
isprintable()Функция String isprintable() возвращает True, если все символы в строке печатаются или строка пуста, в противном случае – False.
isspace()Функция Python isspace() возвращает True, если в строке есть только пробельные символы, в противном случае она возвращает False.
список()Python String istitle() возвращает True, если строка заключена в заголовок и не пуста, в противном случае возвращается False.
isupper()Функция String isupper() возвращает True, если все символы в регистре находятся в верхнем регистре.
rjust(), ljust()Служебные функции для создания новой строки указанной длины из исходной строки с выравниванием по правому и левому краю.
swapcase()Функция String swapcase() возвращает новую строку с символами верхнего регистра, преобразованными в нижний регистр и наоборот.
partition()Функция String partition() разбивает строку на основе разделителя на кортеж из трех строк.
splitlines()Функция String splitlines() возвращает список строк в строке.
title()Функция String title() возвращает версию строки в заголовке.
zfill()Функция String zfill (width) возвращает новую строку указанной ширины. Строка заполняется 0 с левой стороны для создания указанной ширины.

Встроенные функции, работающие со строкой

len()Длина строки может быть определена с помощью встроенной функции len().
ascii()Функция ascii() возвращает строковое представление объекта. Эта функция внутренне вызывает функцию repr() и перед возвратом строки представления экранирует символы, отличные от ASCII, с помощью экранирования \x, \u или \U.
bool()Функция bool() возвращает логическое значение для объекта. У класса bool всего два экземпляра – True и False.
bytearray()Функция bytearray() возвращает объект bytearray, содержащий массив байтов из источника ввода.
bytes()Эта функция возвращает объект байтов, который представляет собой неизменяемую последовательность целых чисел в диапазоне 0 <= x <256.
ord()Функция ord() принимает строковый аргумент из одного символа Unicode и возвращает его целочисленное значение кодовой точки Unicode.
enumerate()Функция перечисления принимает последовательность, а затем превращает каждый элемент последовательности в кортеж.
float()Как следует из названия, функция python float() возвращает число с плавающей запятой из входного аргумента.
hash()Эта функция возвращает хеш-значение данного объекта.
id()Функция id() возвращает «идентичность» объекта. Идентификатор объекта – это целое число, которое гарантированно является уникальным и постоянным для этого объекта в течение его времени жизни.
int()Функция int() возвращает целочисленный объект из указанного ввода. Возвращаемый объект int всегда будет в базе 10.
map()Функция map() используется для применения функции ко всем элементам указанного итерируемого и возвращаемого объекта карты.
print()Функция print() используется для вывода данных в консоль.
slice()Функция slice() возвращает объект среза, представляющий набор индексов, заданных диапазоном (start, stop, step).
type()Эта функция возвращает тип объекта.

Полезные строковые операции

  • f-string в Python – новый и лучший способ форматирования строки, представленный в Python 3.6.
  • Подстрока в Python.
  • Создать случайную строку.
  • Строковый модуль в Python.
  • Необработанная строка.
  • Многострочная строка.
  • Проверка равенства строк.
  • Сравнение строк.
  • Конкатенация строк.
  • Нарезка строки.
  • Перевернуть строку.
  • Строка для datetime – strptime().
  • Преобразовать String в int.
  • Преобразовать строку в байты.
  • Преобразовать String в float.
  • Преобразовать список в строку.
  • Класс шаблона строки.
  • Проверить, является ли переменная String.
  • Объединить строку и int.
  • Удалить символ из строки.
  • Как добавить строки.
  • Найти строку в списке.
  • Удалить пробелы из строки.

Нужно ли их все запоминать?

Никто не может вспомнить их всех. Вы всегда можете найти их в своей IDE. Изображение ниже из моего файла PyCharm IDE builtins.py.

Рейтинг

( Пока оценок нет )

Васильев А.Н. / автор статьи

Помогаю в изучении Питона на примерах. Автор практических задач с детальным разбором их решений.

Комментарии0 Поделиться:

Загрузка …

Строки. Функции и методы строк — Документация Python Summary 1

Базовые операции

# Конкатенация (сложение)
>>> s1 = 'spam'
>>> s2 = 'eggs'
>>> print(s1 + s2)
'spameggs'
# Дублирование строки
>>> print('spam' * 3)
spamspamspam
# Длина строки
>>> len('spam')
4
# Доступ по индексу
>>> S = 'spam'
>>> S[0]
's'
>>> S[2]
'a'
>>> S[-2]
'a'
# Срез
>>> s = 'spameggs'
>>> s[3:5]
'me'
>>> s[2:-2]
'ameg'
>>> s[:6]
'spameg'
>>> s[1:]
'pameggs'
>>> s[:]
'spameggs'
# Шаг, извлечения среза
>>> s[::-1]
'sggemaps'
>>> s[3:5:-1]
''
>>> s[2::2]
'aeg'

Другие функции и методы строк

# Литералы строк
S = 'str'; S = "str"; S = '''str'''; S = """str"""
# Экранированные последовательности
S = "s\np\ta\nbbb"
# Неформатированные строки (подавляют экранирование)
S = r"C:\temp\new"
# Строка байтов
S = b"byte"
# Конкатенация (сложение строк)
S1 + S2
# Повторение строки
S1 * 3
# Обращение по индексу
S[i]
# Извлечение среза
S[i:j:step]
# Длина строки
len(S)
# Поиск подстроки в строке.  Возвращает номер первого вхождения или -1
S.find(str, [start],[end])
# Поиск подстроки в строке. Возвращает номер последнего вхождения или -1
S.rfind(str, [start],[end])
# Поиск подстроки в строке. Возвращает номер первого вхождения или вызывает ValueError
S.index(str, [start],[end])
# Поиск подстроки в строке. Возвращает номер последнего вхождения или вызывает ValueError
S.rindex(str, [start],[end])
# Замена шаблона
S.replace(шаблон, замена)
# Разбиение строки по разделителю
S.split(символ)
# Состоит ли строка из цифр
S.isdigit()
# Состоит ли строка из букв
S.isalpha()
# Состоит ли строка из цифр или букв
S.isalnum()
# Состоит ли строка из символов в нижнем регистре
S.islower()
# Состоит ли строка из символов в верхнем регистре
S.isupper()
# Состоит ли строка из неотображаемых символов (пробел, символ перевода страницы ('\f'), "новая строка" ('\n'), "перевод каретки" ('\r'), "горизонтальная табуляция" ('\t') и "вертикальная табуляция" ('\v'))
S.isspace()
# Начинаются ли слова в строке с заглавной буквы
S. istitle()
# Преобразование строки к верхнему регистру
S.upper()
# Преобразование строки к нижнему регистру
S.lower()
# Начинается ли строка S с шаблона str
S.startswith(str)
# Заканчивается ли строка S шаблоном str
S.endswith(str)
# Сборка строки из списка с разделителем S
S.join(список)
# Символ в его код ASCII
ord(символ)
# Код ASCII в символ
chr(число)
# Переводит первый символ строки в верхний регистр, а все остальные в нижний
S.capitalize()
# Возвращает отцентрованную строку, по краям которой стоит символ fill (пробел по умолчанию)
S.center(width, [fill])
# Возвращает количество непересекающихся вхождений подстроки в диапазоне [начало, конец] (0 и длина строки по умолчанию)
S.count(str, [start],[end])
# Возвращает копию строки, в которой все символы табуляции заменяются одним или несколькими пробелами, в зависимости от текущего столбца. Если TabSize не указан, размер табуляции полагается равным 8 пробелам
S.expandtabs([tabsize])
# Удаление пробельных символов в начале строки
S.lstrip([chars])
# Удаление пробельных символов в конце строки
S. rstrip([chars])
# Удаление пробельных символов в начале и в конце строки
S.strip([chars])
# Возвращает кортеж, содержащий часть перед первым шаблоном, сам шаблон, и часть после шаблона. Если шаблон не найден, возвращается кортеж, содержащий саму строку, а затем две пустых строки
S.partition(шаблон)
# Возвращает кортеж, содержащий часть перед последним шаблоном, сам шаблон, и часть после шаблона. Если шаблон не найден, возвращается кортеж, содержащий две пустых строки, а затем саму строку
S.rpartition(sep)
# Переводит символы нижнего регистра в верхний, а верхнего – в нижний
S.swapcase()
# Первую букву каждого слова переводит в верхний регистр, а все остальные в нижний
S.title()
# Делает длину строки не меньшей width, по необходимости заполняя первые символы нулями
S.zfill(width)
# Делает длину строки не меньшей width, по необходимости заполняя последние символы символом fillchar
S.ljust(width, fillchar=" ")
# Делает длину строки не меньшей width, по необходимости заполняя первые символы символом fillchar
S. rjust(width, fillchar=" ")

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

S.format(*args, **kwargs)

Примеры

Python: Определение позиции подстроки (функции str.find и str.rfind)

Определение позиции подстроки в строке с помощью функций str.find и str.rfind.

In [1]: str = 'ftp://dl.dropbox.com/u/7334460/Magick_py/py_magick.pdf'

Функция str.find показывает первое вхождение подстроки. Все позиции возвращаются относительно начало строки.

In [2]: str.find('/')
Out[2]: 4
In [3]: str[4]
Out[3]: '/'

Можно определить вхождение в срезе. первое число показывает начало среза, в котором производится поиск. Второе число — конец среза. В случае отсутствия вхождения подстроки выводится -1.

In [4]: str.find('/', 8, 18)
Out[4]: -1
In [5]: str[8:18]
Out[5]: '.dropbox.c'
In [6]: str.find('/', 8, 22)
Out[6]: 20
In [7]: str[8:22]
Out[7]: '.dropbox.com/u'
In [8]: str[20]
Out[8]: '/'

Функция str.rfind осуществляет поиск с конца строки, но возвращает позицию подстроки относительно начала строки.

In [9]: str.rfind('/')
Out[9]: 40
In [10]: str[40]
Out[10]: '/'

Python: Извлекаем имя файла из URL

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

Способ №1

Достаточно простой способ. Разбиваем строку по слэшам с помощью функции split(), которая возвращает список. А затем из этого списка извлекаем последний элемент. Он и будет названием файла.

In [1]: str = 'http://dl.dropbox.com/u/7334460/Magick_py/py_magick.pdf'
In [2]: str.split('/')
Out[2]: ['http:', '', 'dl.dropbox.com', 'u', '7334460', 'Magick_py', 'py_magick.pdf']

Повторим шаг с присвоением переменной:

In [3]: file_name = str.split('/')[-1]
In [4]: file_name
Out[4]: 'py_magick.pdf'
Способ №2

Второй способ интереснее. Сначала с помощью функции rfind() находим первое вхождение с конца искомой подстроки. Функция возвращает позицию подстроки относительно начала строки. А далее просто делаем срез.

In [5]: str = 'http://dl.dropbox.com/u/7334460/Magick_py/py_magick.pdf'
In [6]: str.rfind('/')
Out[6]: 41

Делаем срез:

In [7]: file_name = str[42:]
In [8]: file_name
Out[8]: 'py_magick.pdf'

Дополнительные материалы

  • Учим старую собаку новым трюкам или как я научился любить str.format и отказался от %
  • Строки. Функции и методы строк
  • Работа со строками в Python: литералы
  • Погружение в Python 3 (Пилгрим)/Строки

Python: удаление не пустых папок Модуль os содержит ряд функций для работы с файлами, в том числе функции os.remove(path) os.removedirs(path) os.rmdir(path) Однако они могут удалять только пустые папки.

Для удаления не пустых папок нужно использовать модуль shutil и функцию из него shutil.rmtree(path, ignore_errors=False, onerror=None)

Работа со строками в Python — основные операции, функции и методы

Работа со строками в Python часто вызывает затруднение у школьников. Для начала стоит разобраться в том, что вообще такое строки. 

Строки в программировании — это структура данных, каждый экземпляр объекта представляет собой последовательность символов, а не массив символов, поэтому замена символов невозможна. Однако, возможно разбить ее на символы.

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

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

Пример: вы никак не сможете складывать строки «2» и «5», потому что получите результат «25». Об этом случае и других мы поговорим в данной статье.

Содержание

  • Создание строки в Python
  • Форматирование отдельных частей строки в Python
  • Основные операции со строками в Python
  • Методы и функции

Создание строки в Python

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

Если вы бы хотели, чтобы пользователь сам вводил данную строку, то вам нужно будет считывать ее из консоли с помощью команды input().

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

Форматирование отдельных частей строки в Python

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

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

Основные операции со строками в Python

Вот какие операции со строками доступны в данном языке программирования:

  • Объединение строк в Питоне делается методами join и простым сложением. Они довольно быстро сделают из нескольких строчек одну большую.
  • Дублирование строк делается с помощью умножения. Вы можете просто умножить строку на любое число, и она перенесется ровно столько же раз в одну большую строку.
  • Сравнение строк — вы можете узнать, какая из строк больше по длине, с помощью обычных логических операторов «больше», «меньше» и «равно».
  • Методы и функции

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

    Давайте же рассмотрим самые популярные из них:

    Метод str — данный метод делает из любой структуры данных Python строку. Она добавит кавычки ко всему, к чему вы только захотите. Главное теперь не забывать, что вы имеете дело со строковым типом.

    Метод find — этот следопыт пробежится по строке и найдет вам нужный символ или же их последовательность и сообщит вам его позицию (нумерация с 0).

    Метод my_str.replace(s1, s2, count) — классная штука. Она поменяет первые count раз s1 или все ее вхождения в строку my_str на строку s2.

    К примеру, у вас была строка «я специалист». Если вы примените функцию my_str.replace («специалист», «программист», 1), то получите строку «я программист»;

    my_str = ‘barbarian’


    my_str = my_str.replace(‘bar’, ‘mur’) # ‘murmurian’


    my_str = my_str.replace(‘mur’, ‘bur’, 1) # ‘burmurian’

    Метод split — он разделит вашу строку по указанному в скобках разделительному символу. Если оставите место пустым, то Питон разделит ее по пробелам, и получится список строк.

    Для остальных функций мы перечислим только названия:

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

    Предыдущая

    ИнформатикаРабота со списками в Рython — операции, методы и функции

    Следующая

    ИнформатикаJavascript — обучение для начинающих, основы и руководство

    Работа со строками в Python

    Работа со строками в Python — it-black.ru

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

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

    Литералы строк

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

    Строки в апострофах и в кавычках

    
    S = 'spam"s'
    S = "spam's"
    

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

    Экранированные последовательности

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

    Экранированная последовательностьНазначение
    \nПеревод строки
    \aЗвонок
    \bЗабой
    \fПеревод страницы
    \rВозврат каретки
    \tГоризонтальная табуляция
    \vВертикальная табуляция
    \N{id}Идентификатор ID базы данных Юникода
    \uhhhh16-битовый символ Юникода в 16-ричном представлении
    \Uhhhh…32-битовый символ Юникода в 32-ричном представлении
    \xhh16-ричное значение символа
    \ooo8-ричное значение символа
    \0Символ Null (не является признаком конца строки)

    Если перед открывающей кавычкой стоит символ ‘r’ (в любом регистре), то механизм экранирования отключается. Например:

    
    S = r'C:\newt.txt'
    
    Строки в тройных апострофах или кавычках

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

    
    c = '''это очень большая
    строка, многострочный
    блок текста'"
    print(c)
    # Выведет: это очень большая
    строка, многострочный
    блок текста
    
    Функции и методы строк

    Конкатенация (сложение)

    
    S1 = 'При'
    S2 = 'вет'
    print(S1 + S2)
    # Будет выведено: 'Привет'
    

    Дублирование строки

    
    print('Привет' * 3)
    # Выведет: ПриветПриветПривет
    

    Длина строки (функция len)

    
    len('Привет')
    # Выведет: 6
    

    Доступ по индексу

    
    S = 'Привет'
    S[0]
    # Выведет: 'П'
    S[2]
    # Выведет: 'и'
    S[-2] #Доступ к отрицательному индексу
    # Выведет: 'е'
    

    В Python возможен и доступ по отрицательному индексу, при этом отсчет идет от конца строки.

    Извлечение среза

    Оператор извлечения среза: [X:Y]. X – начало среза, а Y – окончание. Cимвол с номером Y в срез не входит. По умолчанию первый индекс равен 0, а второй – длине строки.

    
    s = 'spameggs'
    s[3:5]
    # Выведет: 'me'
    s[2:-2]
    # Выведет: 'ameg'
    s[:6]
    # Выведет: 'spameg'
    s[1:]
    # Выведет: 'pameggs'
    s[:]
    # Выведет: 'spameggs'
    
    Форматирование строк

    Иногда бывает нужно сделать строку, подставив в неё некоторые данные, полученные в процессе выполнения программы. Подстановку данных можно сделать с помощью форматирования строк. Форматирование можно сделать с помощью оператора %, либо с помощью метода format.

    Если для подстановки требуется только один аргумент, то значение – сам аргумент. Например:

    
    'Hello, {}!'.format('Vasya')
    # Будет выведено: 'Hello, Vasya!'
    

    А если несколько, то значениями будут являться все аргументы со строками подстановки (обычных или именованных):

    
    '{0}, {1}, {2}'. format('a', 'b', 'c')
    # Будет выведено: 'a, b, c'
    
    '{}, {}, {}'.format('a', 'b', 'c')
    # Будет выведено: 'a, b, c'
    
    '{2}, {1}, {0}'.format('a', 'b', 'c')
    # Будет выведено: 'c, b, a'
    
    '{2}, {1}, {0}'.format(*'abc')
    # Будет выведено: 'c, b, a'
    
    '{0}{1}{0}'.format('abra', 'cad')
    # Будет выведено: 'abracadabra'
    
    'Coordinates: {latitude}, {longitude}'.format(latitude='37.24N', longitude='-115.81W')
    # Будет выведено: 'Coordinates: 37.24N, -115.81W'
    
    coord = {'latitude': '37.24N', 'longitude': '-115.81W'}
    'Coordinates: {latitude}, {longitude}'.format(**coord)
    # Будет выведено: 'Coordinates: 37.24N, -115.81W'
    

    Видео по строкам в Python: