String что это в питоне

Строки (String)

Каждый символ кодируется в ASCII или Unicode. Поэтому можно сказать, что строки Python также называют коллекцией символов Unicode.

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

Рассмотрим следующий пример на языке Python для создания строки.

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

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

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

String что это в питоне. KPrdJxW3pS S. String что это в питоне фото. String что это в питоне-KPrdJxW3pS S. картинка String что это в питоне. картинка KPrdJxW3pS S

Рассмотрим следующий пример:

В Python мы можем использовать оператор : (двоеточие) для доступа к подстроке из заданной строки. Рассмотрим следующий пример.

String что это в питоне. iLUPURQasHoU. String что это в питоне фото. String что это в питоне-iLUPURQasHoU. картинка String что это в питоне. картинка iLUPURQasHoU

Рассмотрим следующий пример:

String что это в питоне. . String что это в питоне фото. String что это в питоне-. картинка String что это в питоне. картинка

Рассмотрим следующий пример

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

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

Рассмотрим следующий пример.

Однако в примере 1 строка str может быть полностью присвоена новому содержимому, как указано в следующем примере.

Удаление строки в Python

Пробуем удалить часть строки:

Теперь мы пробуем удалить всю строку:

Строковые операторы в Python

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

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

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

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

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

Символ обратной косой черты ( / ) обозначает escape последовательность. За обратной косой чертой может следовать специальный символ, который интерпретируется по-разному. Одинарные кавычки внутри строки должны быть экранированы. Мы можем применить то же самое, что и в случае с двойными кавычками.

Ниже приведен список управляющих последовательностей для экранирования:

Escape последовательностьОписание
\newlineИгнорирует новую строку.
\\Обратный слэш
\’Одинарные кавычки
\\»Двойные кавычки
\aASCII гудок
\bASCII Backspace(BS)
\fASCII Formfeed (смещение к началу след. страницы)
\nASCII Linefeed (перевод на след. строку)
\rASCII Carriege Return(CR) (перемещение курсора к левому краю поля)
\tASCII горизонтальная табуляция
\vASCII вертикальная табуляция
\oooСимвол с восьмеричным значением
\xHHСимвол с шестнадцатеричным значением.

Вот простой пример использования escape-последовательности.

Метод format() в python

Форматирование строк в Python с помощью оператора %

Рассмотрим следующий пример.

Строковые функции в Python

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

Источник

Строки в python 3: методы, функции, форматирование

В уроке по присвоению типа переменной в Python вы могли узнать, как определять строки: объекты, состоящие из последовательности символьных данных. Обработка строк неотъемлемая частью программирования на python. Крайне редко приложение, не использует строковые типы данных.

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

Ниже рассмотрим операторы, методы и функции, доступные для работы с текстом.

Строковые операторы

Оператор сложения строк +

+ — оператор конкатенации строк. Он возвращает строку, состоящую из других строк, как показано здесь:

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

* — оператор создает несколько копий строки. Если s это строка, а n целое число, любое из следующих выражений возвращает строку, состоящую из n объединенных копий s :

Вот примеры умножения строк:

Значение множителя n должно быть целым положительным числом. Оно может быть нулем или отрицательным, но этом случае результатом будет пустая строка:

Оператор принадлежности подстроки in

Встроенные функции строк в python

Python предоставляет множество функций, которые встроены в интерпретатор. Вот несколько, которые работают со строками:

ФункцияОписание
chr()Преобразует целое число в символ
ord()Преобразует символ в целое число
len()Возвращает длину строки
str()Изменяет тип объекта на string

Более подробно о них ниже.

Функция ord(c) возвращает числовое значение для заданного символа.

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

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

Unicode — это современный стандарт, который пытается предоставить числовой код для всех возможных символов, на всех возможных языках, на каждой возможной платформе. Python 3 поддерживает Unicode, в том числе позволяет использовать символы Unicode в строках.

Функция ord() также возвращает числовые значения для символов Юникода:

Функция chr(n) возвращает символьное значение для данного целого числа.

chr() также обрабатывает символы Юникода:

Функция len(s) возвращает длину строки.

len(s) возвращает количество символов в строке s :

Функция str(obj) возвращает строковое представление объекта.

Практически любой объект в Python может быть представлен как строка. str(obj) возвращает строковое представление объекта obj :

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

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

Например, схематическое представление индексов строки ‘foobar’ выглядит следующим образом:

String что это в питоне. indeksaciya stroki v python. String что это в питоне фото. String что это в питоне-indeksaciya stroki v python. картинка String что это в питоне. картинка indeksaciya stroki v python

Отдельные символы доступны по индексу следующим образом:

String что это в питоне. polozhitelnye tak i otricatelnye indeksy stroki. String что это в питоне фото. String что это в питоне-polozhitelnye tak i otricatelnye indeksy stroki. картинка String что это в питоне. картинка polozhitelnye tak i otricatelnye indeksy stroki

Вот несколько примеров отрицательного индексирования:

Срезы строк

Если пропустить первый индекс, срез начинается с начала строки. Таким образом, s[:m] = s[0:m] :

Для любой строки s и любого целого n числа ( 0 ≤ n ≤ len(s) ), s[:n] + s[n:] будет s :

Пропуск обоих индексов возвращает исходную строку. Это не копия, это ссылка на исходную строку:

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

Отрицательные индексы можно использовать и со срезами. Вот пример кода Python:

Шаг для среза строки

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

String что это в питоне. srez stroki python s shagom. String что это в питоне фото. String что это в питоне-srez stroki python s shagom. картинка String что это в питоне. картинка srez stroki python s shagom

Иллюстративный код показан здесь:

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

Вы также можете указать отрицательное значение шага, в этом случае Python идет с конца строки. Начальный/первый индекс должен быть больше конечного/второго индекса:

В приведенном выше примере, 5:0:-2 означает «начать с последнего символа и делать два шага назад, но не включая первый символ.”

Когда вы идете назад, если первый и второй индексы пропущены, значения по умолчанию применяются так: первый индекс — конец строки, а второй индекс — начало. Вот пример:

Это общая парадигма для разворота (reverse) строки:

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

В Python версии 3.6 был представлен новый способ форматирования строк. Эта функция официально названа литералом отформатированной строки, но обычно упоминается как f-string.

Возможности форматирования строк огромны и не будут подробно описана здесь.
Одной простой особенностью f-строк, которые вы можете начать использовать сразу, является интерполяция переменной. Вы можете указать имя переменной непосредственно в f-строковом литерале ( f’string’ ), и python заменит имя соответствующим значением.

Но это громоздко. Чтобы выполнить то же самое с помощью f-строки:

Код с использованием f-string, приведенный ниже выглядит намного чище:

Любой из трех типов кавычек в python можно использовать для f-строки:

Изменение строк

Строки — один из типов данных, которые Python считает неизменяемыми, что означает невозможность их изменять. Как вы ниже увидите, python дает возможность изменять (заменять и перезаписывать) строки.

Такой синтаксис приведет к ошибке TypeError :

На самом деле нет особой необходимости изменять строки. Обычно вы можете легко сгенерировать копию исходной строки с необходимыми изменениями. Есть минимум 2 способа сделать это в python. Вот первый:

Есть встроенный метод string.replace(x, y) :

Читайте дальше о встроенных методах строк!

Встроенные методы строк в python

В руководстве по типам переменных в python вы узнали, что Python — это объектно-ориентированный язык. Каждый элемент данных в программе python является объектом.

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

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

Синтаксис для вызова метода объекта выглядит следующим образом:

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

В приведенных методах аргументы, указанные в квадратных скобках ( [] ), являются необязательными.

Изменение регистра строки

Методы этой группы выполняют преобразование регистра строки.

string.capitalize() приводит первую букву в верхний регистр, остальные в нижний.

s.capitalize() возвращает копию s с первым символом, преобразованным в верхний регистр, и остальными символами, преобразованными в нижний регистр:

Не алфавитные символы не изменяются:

string.lower() преобразует все буквенные символы в строчные.

s.lower() возвращает копию s со всеми буквенными символами, преобразованными в нижний регистр:

string.swapcase() меняет регистр буквенных символов на противоположный.

s.swapcase() возвращает копию s с заглавными буквенными символами, преобразованными в строчные и наоборот:

string.title() преобразует первые буквы всех слов в заглавные

s.title() возвращает копию, s в которой первая буква каждого слова преобразуется в верхний регистр, а остальные буквы — в нижний регистр:

Этот метод использует довольно простой алгоритм. Он не пытается различить важные и неважные слова и не обрабатывает апострофы, имена или аббревиатуры:

string.upper() преобразует все буквенные символы в заглавные.

s.upper() возвращает копию s со всеми буквенными символами в верхнем регистре:

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

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

string.count([, [, ]]) подсчитывает количество вхождений подстроки в строку.

s.count() возвращает количество точных вхождений подстроки в s :

Количество вхождений изменится, если указать и :

string.endswith( [, [, ]]) определяет, заканчивается ли строка заданной подстрокой.

s.endswith( ) возвращает, True если s заканчивается указанным и False если нет:

string.find([, [, ]]) ищет в строке заданную подстроку.

s.find() возвращает первый индекс в s который соответствует началу строки :

string.index([, [, ]]) ищет в строке заданную подстроку.

string.rfind([, [, ]]) ищет в строке заданную подстроку, начиная с конца.

string.rindex([, [, ]]) ищет в строке заданную подстроку, начиная с конца.

Классификация строк

Методы в этой группе классифицируют строку на основе символов, которые она содержит.

string.isalnum() определяет, состоит ли строка из букв и цифр.

string.isalpha() определяет, состоит ли строка только из букв.

string.isdigit() определяет, состоит ли строка из цифр (проверка на число).

s.digit() возвращает True когда строка s не пустая и все ее символы являются цифрами, а в False если нет:

string.isidentifier() определяет, является ли строка допустимым идентификатором Python.

string.islower() определяет, являются ли буквенные символы строки строчными.

string.isprintable() определяет, состоит ли строка только из печатаемых символов.

s.isprintable() возвращает, True если строка s пустая или все буквенные символы которые она содержит можно вывести на экран. Возвращает, False если s содержит хотя бы один специальный символ. Не алфавитные символы игнорируются:

string.isspace() определяет, состоит ли строка только из пробельных символов.

Тем не менее есть несколько символов ASCII, которые считаются пробелами. И если учитывать символы Юникода, их еще больше:

‘\f’ и ‘\r’ являются escape-последовательностями для символов ASCII; ‘\u2005’ это escape-последовательность для Unicode.

string.istitle() определяет, начинаются ли слова строки с заглавной буквы.

string.isupper() определяет, являются ли буквенные символы строки заглавными.

Выравнивание строк, отступы

Методы в этой группе влияют на вывод строки.

string.center( [, ]) выравнивает строку по центру.

string.expandtabs(tabsize=8) заменяет табуляции на пробелы

s.expandtabs() заменяет каждый символ табуляции ( ‘\t’ ) пробелами. По умолчанию табуляция заменяются на 8 пробелов:

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

string.ljust( [, ]) выравнивание по левому краю строки в поле.

string.lstrip([ ]) обрезает пробельные символы слева

s.lstrip() возвращает копию s в которой все пробельные символы с левого края удалены:

string.replace(

    , [, ]) заменяет вхождения подстроки в строке.

s.replace(

    , ) возвращает копию s где все вхождения подстроки

      , заменены на :

    string.rjust( [, ]) выравнивание по правому краю строки в поле.

    string.rstrip([ ]) обрезает пробельные символы справа

    s.rstrip() возвращает копию s без пробельных символов, удаленных с правого края:

    string.strip([ ]) удаляет символы с левого и правого края строки.

    Важно: Когда возвращаемое значение метода является другой строкой, как это часто бывает, методы можно вызывать последовательно:

    string.zfill( ) дополняет строку нулями слева.

    s.zfill( ) возвращает копию s дополненную ‘0’ слева для достижения длины строки указанной в :

    Если s содержит знак перед цифрами, он остается слева строки:

    .zfill() наиболее полезен для строковых представлений чисел, но python с удовольствием заполнит строку нулями, даже если в ней нет чисел:

    Методы преобразование строки в список

    Методы в этой группе преобразовывают строку в другой тип данных и наоборот. Эти методы возвращают или принимают итерируемые объекты — термин Python для последовательного набора объектов.

    Многие из этих методов возвращают либо список, либо кортеж. Это два похожих типа данных, которые являются прототипами примеров итераций в python. Список заключен в квадратные скобки ( [] ), а кортеж заключен в простые ( () ).

    Теперь давайте посмотрим на последнюю группу строковых методов.

    string.join( ) объединяет список в строку.

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

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

    Это можно исправить так:

    string.partition( ) делит строку на основе разделителя.

    s.rpartition( ) делит строку на основе разделителя, начиная с конца.

    string.rsplit(sep=None, maxsplit=-1) делит строку на список из подстрок.

    Без аргументов s.rsplit() делит s на подстроки, разделенные любой последовательностью пробелов, и возвращает список:

    Если указан, он используется в качестве разделителя:

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

    string.split(sep=None, maxsplit=-1) делит строку на список из подстрок.

    string.splitlines([ ]) делит текст на список строк.

    s.splitlines() делит s на строки и возвращает их в списке. Любой из следующих символов или последовательностей символов считается границей строки:

    РазделительЗначение
    \nНовая строка
    \rВозврат каретки
    \r\nВозврат каретки + перевод строки
    \v или же \x0bТаблицы строк
    \f или же \x0cПодача формы
    \x1cРазделитель файлов
    \x1dРазделитель групп
    \x1eРазделитель записей
    \x85Следующая строка
    \u2028Новая строка (Unicode)
    \u2029Новый абзац (Unicode)

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

    Если в строке присутствуют последовательные символы границы строки, они появятся в списке результатов, как пустые строки:

    Заключение

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

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

    Источник

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

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

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

    Вводная информация о строках

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

    Что представляют собой строки в Python

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

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

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

    Литерал — способ создания объектов, в случае строк Питон предлагает несколько основных вариантов:

    >>> ‘string’ # одинарные кавычки ‘string’ >>> «string» # двойные кавычки ‘string’ >>> «»»string»»» ‘string’ >>> »’string»’ ‘string’

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

    >>> ‘book «war and peace»‘ # разный тип кавычек ‘book «war and peace»‘ >>> «book ‘war and peace'» # разный тип кавычек «book ‘war and peace'» >>> «book \»war and peace\»» # экранирование кавычек одного типа ‘book «war and peace»‘ >>> ‘book \’war and peace\» # экранирование кавычек одного типа «book ‘war and peace'»

    💡 Разницы между строками с одинарными и двойными кавычками нет — это одно и то же

    Какие кавычки использовать — решать вам, соглашение PEP 8 не дает рекомендаций по использованию кавычек. Просто выберите один тип кавычек и придерживайтесь его. Однако если в стоке используются те же кавычки, что и в литерале строки, используйте разные типы кавычек — обратная косая черта в строке ухудшает читаемость кода.

    Кодировка строк

    В третьей версии языка программирования Python все строки представляют собой последовательность Unicode-символов.

    В Python 3 кодировка по умолчанию исходного кода — UTF-8. Во второй версии по умолчанию использовалась ASCII. Если необходимо использовать другую кодировку, можно разместить специальное объявление на первой строке файла, к примеру:

    Максимальная длина строки в Python

    Максимальная длина строки зависит от платформы. Обычно это:

    >>> import sys >>> sys.maxsize 2147483647

    Перенос строк

    Перенос строки осуществляется с помощью символа \n :

    >>> text = «one\ntwo\nthree» >>> print(text) one two three

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

    >>> s1 = «Hello» + » world» >>> s2 = » world» >>> s1+s2 ‘Hello world’

    При необходимости объединения строки с числом его предварительно нужно привести тоже к строке, используя функцию str() :

    >>> name = «John» >>> age = 30 >>> «Name: » + name + «, age: » + str(age) ‘Name: John, age: 30’

    Сравнение строк

    При сравнении нескольких строк рассматриваются отдельные символы и их регистр:

    При этом сравниваются по очереди первые символы, затем — 2-е и так далее.

    >>> s1 = «1a» >>> s2 = «aa» >>> s3 = «Aa» >>> s4 = «ba» >>> «1a» > «aa» # сравнение цифры с буквой False >>> «aa» > «Aa» # сравнение регистров True >>> «aa» > «ba» # сравнение букв по алфавитному порядку False >>> «aa»

    Далеко не всегда желательной является зависимость от регистра, в таком случае можно привести обе строки к одному и тому же регистру. Для этого используются функции lower() — для приведения к нижнему и upper() — к верхнему:

    >>> s1 = «Intel» >>> s2 = «intel» >>> s1 == s2 False >>> s1.lower() == s2.lower() True

    Пустая строка Python

    Объявить пустую строку можно следующими способами:

    Как удалить строку в Python

    Или перезаписать переменную пустой строкой:

    Обращение по индексу

    Для выбора определенного символа из строки можно воспользоваться обращением по индексу, записав его в квадратных скобках:

    >>> s = «abcdef» >>> s[0] ‘a’ >>> s[2] ‘c’

    Индекс начинается с 0

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

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

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

    Оператор %

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

    >>> name = «Alex» >>> ‘Hello, %s’ % name ‘Hello, Alex’

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

    >>> ‘%d %s, %d %s’ % (6, ‘bananas’, 10, ‘lemons’) ‘6 bananas, 10 lemons’

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

    Такой способ форматирования строк называет «старым» стилем, который в Python 3 был заменен на более удобные способы.

    str.format()

    >>> print(‘<>‘.format(100)) 100 >>> ‘<0>, <1>, <2>‘.format(‘one’, ‘two’, ‘three’) ‘one, two, three’ >>> ‘<2>, <1>, <0>‘.format(‘one’, ‘two’, ‘three’) ‘three, two, one’

    💭 В Python 3 форматирование строк с использованием «нового стиля» является более предпочтительным по сравнению с использованием %-стиля, так как предоставляет более широкие возможности, не усложняя простые варианты использования.

    f-строки (Python 3.6+)

    В Python версии 3.6 появился новый метод форматирования строк — «f-строки», с его помощью можно использовать встроенные выражения внутри строк:

    >>> name = ‘Alex’ >>> f’Hello, !’ ‘Hello, Alex!’

    Такой способ форматирования очень мощный, так как дает возможность встраивать выражения:

    >>> a = 5 >>> b = 10 >>> f’Five plus ten is and not <2 * (a + b)>.’ ‘Five plus ten is 15 and not 30.’

    Таким образом, форматирование с помощью f-строк напоминает использование метода format(), но более гибкое, быстрое и читабельное.

    Стандартная библиотека Template Strings

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

    Для работы со строками в Питоне предусмотрены специальные функции. Рассмотрим их:

    Преобразование числового или другого типа к строке:

    Методы для работы со строками

    Кроме функций, для работы со строками есть немало методов:

    >>> text = «Wikipedia is a Python library that makes it easy to access and parse data from Wikipedia» >>> text.find(«Wikipedia») 0 >>> text.rfind(«Wikipedia») 79 >>> text.replace(«from Wikipedia», «from https://www.wikipedia.org/») ‘Wikipedia is a Python library that makes it easy to access and parse data from https://www.wikipedia.org/’ >>> text.split(» «) [‘Wikipedia’, ‘is’, ‘a’, ‘Python’, ‘library’, ‘that’, ‘makes’, ‘it’, ‘easy’, ‘to’, ‘access’, ‘and’, ‘parse’, ‘data’, ‘from’, ‘Wikipedia’] split_text = text.split(» «) >>> «_».join(split_text) ‘Wikipedia_is_a_Python_library_that_makes_it_easy_to_access_and_parse_data_from_Wikipedia’ >>> text = » test » >>> text.strip() ‘test’ >>> text.lstrip() ‘test ‘ >>> text.rstrip() ‘ test’ >>> text = «Python is a product of the Python Software Foundation» >>> text.lower() ‘python is a product of the python software foundation’ >>> text.upper() ‘PYTHON IS A PRODUCT OF THE PYTHON SOFTWARE FOUNDATION’ >>> text = «python is a product of the python software foundation» >>> text.capitalize() ‘Python is a product of the python software foundation’

    Преобразование из строки в другой тип

    В Питоне строки можно преобразовывать в другие типы данных:

    string to int

    Функция int() преобразовывает целое число в десятичной системе, заданное как строка, в тип int:

    При необходимости можно указывать систему счисления:

    >>> int(«0x12F», base=16) 303

    string to list

    Самый простой способ преобразования строки в список строк — метод split() :

    >>> ‘one two three four’.split() [‘one’, ‘two’, ‘three’, ‘four’]

    При необходимости можно указывать разделитель:

    >>> ‘one, two, three, four’.split(‘,’) [‘one’, ‘ two’, ‘ three’, ‘ four’]

    string to bytes

    Преобразование строкового типа в байтовый выполняется функцией encode() с указанием кодировки:

    string to datetime

    Строка в дату преобразовывается функцией strptime() из стандартного модуля datetime :

    >>> from datetime import datetime >>> print(datetime.strptime(‘Jan 1 2020 1:33PM’, ‘%b %d %Y %I:%M%p’)) 2020-01-01 13:33:00

    string to float

    Для преобразования строки в число с плавающей точкой используется стандартная функция float :

    string to dict

    Создание словаря из строки возможно, если внутри нее данные в формате json. Для этого можно воспользоваться модулем json :

    string to json

    Конвертация объектов Python в объект json выполняется функцией dumps() :

    >>> import json >>> json.dumps(«hello») ‘»hello»‘

    Best practices

    Как разбить строку на символы

    Разбиение строки на отдельные символы выполняется несколькими способами:

    >>> text = «django» # вариант 1 >>> list(text) [‘d’, ‘j’, ‘a’, ‘n’, ‘g’, ‘o’] # вариант 2 >>> [c for c in «text»] [‘t’, ‘e’, ‘x’, ‘t’] # вариант 3 >>> for c in text: print(c) d j a n g o

    Как из строки выделить числа

    Для извлечения чисел из строки можно воспользоваться методами строк:

    >>> str = «h3110 23 cat 444.4 rabbit 11 2 dog» >>> [int(s) for s in str.split() if s.isdigit()] [23, 11, 2]

    Данный пример извлекает только целые положительные числа. Более универсальный вариант – регулярные выражения:

    >>> str = «h3110 23 cat 444.4 rabbit 11 2 dog» >>> import re >>> re.findall(r’\d+’, str) [‘3110′, ’23’, ‘444’, ‘4’, ’11’, ‘2’]

    Как перевернуть строку

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

    С помощью среза — самый быстрый способ:

    Использование reversed() и str.join() :

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

    Как и в предыдущем случае – чтобы убрать последний символ наиболее простым и быстрым вариантом будет использование среза:

    >>> «Some text1″[:-1] ‘Some text’

    Как убрать пробелы из строки

    В случае удаления пробелов со строки может быть два варианта:

    1 Обрезать строку так, чтобы удалить с нее первый и последний пробел, такой вариант может пригодиться, когда пользователь случайно поставит пробел в конце введенного текста:

    >>> » Some text «.strip() ‘Some text’

    2 Удалить со строки все пробелы:

    >>> » So me t e x t «.replace(‘ ‘, ») ‘Sometext’

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

    Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *