- Перенос строк кода Python
- Перевод текста на новую строку в Python. Как перенести текст на новую строку – инструкция
- Общая информация о символе новой строки
- Что такое функция print
- Замена символа новой строки через print
- Использование разделительного символа в файлах
- Разделение строки на подстроки
- Заключение
- Перевод текста на новую строку в Python. Как перенести текст на новую строку – инструкция
- Общая информация о символе новой строки
- Что такое функция print
- Замена символа новой строки через print
- Разделение строки на подстроки
- Заключение
- Разметка кода Python, PEP 8
- Разметка кода
- Отступы:
- TAB или пробелы?
- Максимальная длина строки с кодом:
- Перенос строки до или после двоичного оператора?
- Пустые строки:
- Кодировка файла с кодом:
- Импорт:
- Расположение имен «dunders» в коде:
- Кавычки в строках:
- Строки и функции для работы с ними (faq)
- Вводная информация о строках
- Что представляют собой строки в Python
- Литералы строк
- Кодировка строк
- Максимальная длина строки в Python
- Перенос строк
- Конкатенация строк
- Сравнение строк
- Пустая строка Python
- Как удалить строку в Python
- Обращение по индексу
- Форматирование строк
- Оператор %
- str.format()
- f-строки (Python 3.6+)
- Стандартная библиотека Template Strings
- Функции для работы со строками
- Методы для работы со строками
- Преобразование из строки в другой тип
- string to int
- string to list
- string to bytes
- string to datetime
- string to float
- string to dict
- string to json
- Best practices
- Как разбить строку на символы
- Как из строки выделить числа
- Как перевернуть строку
- Как удалить последний символ в строке
- Как убрать пробелы из строки
Перенос строк кода Python
PEP-8 не рекомендует писать строки кода длиннее, чем 79 символов. С этим можно не согласиться, однако, встречаются строки, которые не влезают даже на наши широкоформатные мониторы.
👨🎓 Старайтесь не делать очень длинные строки, разбивая сложные условия или формулы на отдельные части, вынося их в переменные или функции с осмысленными названиями.
Если есть острая необходимость иметь длинное выражение, тогда приходится переносить код на следующие строки. Можно делать двумя способами: скобками и слэшем.
Если, перед выражением открыта скобка (круглая, квадратная или фигурная в зависимости от контекста), но она не закрыта в этой строке, то Python будет сканировать последующие строки, пока не найдет соответствующую закрывающую скобку (англ. implicit line joining). Примеры:
Обратите внимание, что в первом примере скобки очень важны. Без скобок код не скомпилируется из-за отступов, а если их убрать, то результат будет неверен: income станет gross_wages, а последующие строки не будут иметь эффекта!
Метод переноса обратным слэшем. Ставим обратный слэш конце строки и сразу энтер (перенос строки): тогда следующая строка будет включена в текущую (англ. explicit line joining), не взирая на отступы, как будто бы они написаны в одну строку:
Еще примеры со слэшем:
Почему скобки лучше для переноса:
🐉 Специально для канала @pyway. Подписывайтесь на мой канал в Телеграм @pyway 👈
Источник
Перевод текста на новую строку в Python. Как перенести текст на новую строку – инструкция
Для того чтобы в Python обозначить конец одной строки и начать новую, нужно использовать специальный символ. При этом важно знать, как его правильно использовать в работе с различными файлами Python, в требуемые моменты отображать его в консоли. Подробно необходимо разобраться с тем, как пользоваться разделительным знаком для новых строк при работе с программным кодом, можно ли добавлять текст без его применения.
Общая информация о символе новой строки
\n – обозначение переноса информации на новую строку и закрытия старой строчки в Python. Данный символ состоит из двух элементов:
Для использования данного символа можно применить выражение “print(f”Hello\nWorld!”)”, за счет которого можно переносить информацию в f-строках.
Пример использования символа \n для распределения массива информации по новым строчкам
Что такое функция print
Без дополнительных настроек символ переноса данных на следующую строку добавляется в скрытом режиме. За счет этого его невозможно увидеть между строк без активации определенной функции. Пример отображение разделительного значка в программном коде:
При этом такое нахождение данного символа прописано в базовых характеристиках Python. Функция “print” имеет стандартное значение для параметра “end” – \n. Именно благодаря данной функции этот символ выставляется в конце строк для переноса данных на следующие строчки. Расшифровка функции “print”:
Значение параметра “end” из функции “print” равняется символу “\n”. По автоматическому алгоритму программного кода он дополняет строчки на конце, перед которыми прописывается функция “print”. При использовании одной функции “print” можно не заметить суть ее работы, так как на экран будет выводиться только одна строка. Однако, если добавить несколько подобных инструкций, результат работы функции станет более явным:
Пример результата, прописанного выше программного кода:
Замена символа новой строки через print
Используя функцию “print”, можно не применять разделительный значок между строк. Для этого в самой функции необходимо изменить параметр “end”. При этом вместо значения “end” нужно добавить пробел. За счет этого именно пробелом будет заменен символ “end”. Результат при установленных настройках по умолчанию:
Отображение результата после замены символа “\n” на пробел:
Пример использования данного способа замены символов для отображения последовательности значений через одну строчку:
Использование разделительного символа в файлах
Символ, после которого текст программного кода переносится на следующую строчку, можно найти в готовых файлах. Однако без рассмотрения самого документа через программный код увидеть его невозможно, так как подобные символы по умолчанию скрыты. Для того чтобы использовать символ начала новых строк, необходимо создать файл, заполненный именами. После его открытия можно увидеть, что все имена будут начинаться с новой строки. Пример:
Так отображаться имена будут только в том случае, если в текстовом файле установлено разделение информации на отдельные строки. При этом в конце каждой предыдущей строки будет автоматически установлен скрытый символ “\n”. Чтобы увидеть скрытый знак, нужно активировать функцию – “.readlines()”. После этого все скрытые символы отобразятся на экране в программном коде. Пример активации функции:
Совет! Активно работая с Python, пользователи часто сталкиваются с ситуациями, когда программный код необходимо записать в одну длинную строку, однако рассматривать его и выявлять неточности крайне сложно без разделения. Чтобы после разделения длинной строчки на отдельные фрагменты компьютер считал ее цельной, в каждом свободном промежутке между значениями необходим вставить символ “\” – обратный слеш. После добавления символа можно перейти на другую строчку, продолжить писать код. Во время запуска программа сама соберет отдельные фрагменты в цельную строку.
Разделение строки на подстроки
Чтобы разделить одну длинную строчку на несколько подстрочек, можно воспользоваться методом split. Если не вносить дополнительных правок, стандартным разделителем является пробел. После выполнения данного метода выбранный текст разделяется на отдельные слова по подстрочкам, преобразуется в список strings. Как пример:
Для того чтобы провести обратное преобразование, с помощью которого список подстрочек превратится в одну длинную строку, необходимо воспользоваться методом join. Еще один полезный метод для работы со строками – strip. С его помощью можно удалять пробелы, которые расположены с двух сторон от строки.
Заключение
Чтобы при работе в Python выводить определенные данные с новой строки, необходимо заканчивать старую строчку символом “\n”. С его помощью информация, стоящая после знака, переносится на следующую строку, а старая закрывается. Однако для переноса данных не обязательно использовать данный символ. Для этого можно воспользоваться параметром end =” ”. Значение “character” и является разделительным символом.
Источник
Перевод текста на новую строку в Python. Как перенести текст на новую строку – инструкция
Для того чтобы в Python обозначить конец одной строки и начать новую, нужно использовать специальный символ. При этом важно знать, как его правильно использовать в работе с различными файлами Python, в требуемые моменты отображать его в консоли. Подробно необходимо разобраться с тем, как пользоваться разделительным знаком для новых строк при работе с программным кодом, можно ли добавлять текст без его применения.
Общая информация о символе новой строки
\n – обозначение переноса информации на новую строку и закрытия старой строчки в Python. Данный символ состоит из двух элементов:
Для использования данного символа можно применить выражение “print(f”Hello\nWorld!”)”, за счет которого можно переносить информацию в f-строках.
Пример использования символа \n для распределения массива информации по новым строчкам
Что такое функция print
Без дополнительных настроек символ переноса данных на следующую строку добавляется в скрытом режиме. За счет этого его невозможно увидеть между строк без активации определенной функции. Пример отображение разделительного значка в программном коде:
Print (“Hello, World”!”) – “Hello, World!”\n
При этом такое нахождение данного символа прописано в базовых характеристиках Python. Функция “print” имеет стандартное значение для параметра “end” – \n. Именно благодаря данной функции этот символ выставляется в конце строк для переноса данных на следующие строчки. Расшифровка функции “print”:
print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
Значение параметра “end” из функции “print” равняется символу “\n”. По автоматическому алгоритму программного кода он дополняет строчки на конце, перед которыми прописывается функция “print”. При использовании одной функции “print” можно не заметить суть ее работы, так как на экран будет выводиться только одна строка. Однако, если добавить несколько подобных инструкций, результат работы функции станет более явным:
print(«Hello, World 1!») print(«Hello, World 2!») print(«Hello, World 3!») print(«Hello, World 4!»)
Пример результата, прописанного выше программного кода:
Hello, World 1! Hello, World 2! Hello, World 3! Hello, World 4!
Замена символа новой строки через print
Используя функцию “print”, можно не применять разделительный значок между строк. Для этого в самой функции необходимо изменить параметр “end”. При этом вместо значения “end” нужно добавить пробел. За счет этого именно пробелом будет заменен символ “end”. Результат при установленных настройках по умолчанию:
>>> print(«Hello») >>> print(«World») Hello World
Отображение результата после замены символа “\n” на пробел:
>>> print(«Hello», end=» «) >>> print(«World») Hello World
Пример использования данного способа замены символов для отображения последовательности значений через одну строчку:
for i in range(15): if i Назначение различных символов для работы в Python
Разделение строки на подстроки
Чтобы разделить одну длинную строчку на несколько подстрочек, можно воспользоваться методом split. Если не вносить дополнительных правок, стандартным разделителем является пробел. После выполнения данного метода выбранный текст разделяется на отдельные слова по подстрочкам, преобразуется в список strings. Как пример:
string = «some new text» strings = string.split() print(strings) [‘some’, ‘new’, ‘text’]
Для того чтобы провести обратное преобразование, с помощью которого список подстрочек превратится в одну длинную строку, необходимо воспользоваться методом join. Еще один полезный метод для работы со строками – strip. С его помощью можно удалять пробелы, которые расположены с двух сторон от строки.
Заключение
Чтобы при работе в Python выводить определенные данные с новой строки, необходимо заканчивать старую строчку символом “\n”. С его помощью информация, стоящая после знака, переносится на следующую строку, а старая закрывается. Однако для переноса данных не обязательно использовать данный символ. Для этого можно воспользоваться параметром end =””. Значение “character” и является разделительным символом.
Источник
Разметка кода Python, PEP 8
Разметка кода
Рекомендуется придерживаться следующих правил разметки кода
Отступы:
Используйте 4 пробела для добавления отступа.
Последующие строки обернутых элементов в скобки должны быть выравнены либо по вертикали, либо с помощью висящего отступа.
При использовании висячего отступа, следует учитывать следующее: в первой строке не должно быть аргументов, и следует использовать дополнительный отступ, чтобы четко отличить себя как строку продолжения.
Правильно:
Не правильно:
Правило 4 пробелов не является обязательным для строк продолжения.
По желанию:
Закрывающая скобка в многострочных конструкциях может располагаться либо под первым символом последней строки списка:
или может быть на уровне первого символа строки, которая начинает многострочную конструкцию:
TAB или пробелы?
Пробелы являются предпочтительным методом отступа.
Табуляция должна использоваться исключительно для соответствия с кодом, который уже имеет такие отступы.
Python 3 запрещает смешивать использование табуляции и пробелов для отступа. Код с отступом в виде комбинации символов табуляции и пробелов должен быть преобразован исключительно в пробелы.
Максимальная длина строки с кодом:
Ограничьте все строки максимум 79 символами.
Для строк документации или комментариев длина строки должна быть ограничена 72 символами.
Ограничение ширины окна редактора позволяет одновременно открывать несколько файлов и хорошо работает при использовании инструментов обзора, которые представляют две версии кода в соседних окнах.
Перенос по умолчанию в большинстве редакторов нарушает визуальную структуру кода, что делает его более трудным для понимания. Данные ограничения приняты для того, чтобы избежать автоматического переноса строк в редакторах с шириной окна, установленной на 80 символов, даже если он помещает маркер курсора в последний столбец. Некоторые IDE могут вообще не иметь авто-переноса строк.
Некоторые команды разработчиков предпочитают более длинные строки при написании кода. Исключительно для поддержания такого кода внутри команды, разрешается увеличить ограничение длины строки до 99 символов, при условии, что комментарии и документация должна быть ограничена 72 символами
Стандартная библиотека Python консервативна и требует ограничения строки до 79 символов (и строки документации/комментариев до 72).
Еще один такой случай возможен с assert утверждениями.
Удостоверьтесь, что сделали отступ в 4 пробела для продолжения строки кода.
Перенос строки до или после двоичного оператора?
В течение десятилетий рекомендуется переносить строки после двоичного оператора. Но это может усложнить читабельность. При таком переносе, операторы, как правило, разбросаны по разным столбцам, при этом каждый оператор отошел от своей переменной и перешел на предыдущую строку. Здесь глаз должен сделать дополнительную работу, чтобы увидеть, какие элементы добавляются, а какие вычитаются:
Чтобы решить проблему читаемости, математики следуют противоположному соглашению. Следуя традиции математики, обычно получается более читаемый код:
В коде Python допускается перенос до или после двоичного оператора, если есть такое соглашение. Для нового кода предлагается математический стиль.
Пустые строки:
Определения функций и классов верхнего уровня должны быть заключены в две пустые строки.
Определения методов внутри класса заключены в одну пустую строку.
Дополнительные пустые строки могут использоваться для разделения групп связанных функций. Пустые строки могут быть пропущены между связкой связанных строк (например, набором фиктивных реализаций).
Используйте пустые строки в функциях, чтобы указать логические разделы.
Кодировка файла с кодом:
Код в основном дистрибутиве Python всегда должен использовать UTF-8 (или ASCII в Python 2).
Файлы, использующие ASCII (в Python 2) или UTF-8 (в Python 3), не должны иметь декларации кодировки.
Для Python 3.0 и выше, для стандартной библиотеки предписана следующая политика. Все идентификаторы в стандартной библиотеке Python ДОЛЖНЫ использовать идентификаторы только ASCII и ДОЛЖНЫ использовать английские слова везде, где это возможно (сокращения и технические термины, которые не являются английскими). Кроме того, все строковые литералы и комментарии также должны быть в ASCII.
Единственными исключениями являются:
Проектам с открытым исходным кодом с глобальной аудиторией рекомендуется придерживаться аналогичной политики.
Импорт:
Импорт обычно должен быть в отдельных строках:
Это нормально, хотя:
Импорт всегда помещается вверху файла, сразу после любых комментариев и строк документации, а также перед глобальными переменными и константами модуля.
Импорт должен быть сгруппирован в следующем порядке:
Вы должны поставить пустую строку между каждой группой импорта.
Рекомендуется абсолютный импорт, так как он обычно более читабелен и, как правило, ведет себя лучше (или, по крайней мере, дает лучшие сообщения об ошибках), если система импорта настроена неправильно (например, когда каталог внутри пакета заканчивается в sys.path ):
Однако явный относительный импорт является приемлемой альтернативой абсолютному импорту, особенно когда речь идет о сложном макете в пакете, где использование абсолютного импорта было бы излишне многословным:
Код стандартной библиотеки должен избегать сложных макетов пакетов и всегда использовать абсолютный импорт.
Неявный относительный импорт никогда не должен использоваться и был удален в Python 3.
При импорте класса из модуля, обычно можно записать следующее:
Если это написание вызывает локальные конфликты имен, то запишите импорт через точку:
Следует избегать импорта подстановочных знаков ( from import * ), так как из-за этого неясно, какие имена присутствуют в пространстве имен, запутывает как читателей, так и многие автоматизированные инструменты. Существует один оправданный вариант использования для импорта с использованием подстановочного знака, который заключается в повторной публикации внутреннего интерфейса как части общедоступного API.
При повторной публикации имен, все же применяются приведенные ниже рекомендации, касающиеся открытых и внутренних интерфейсов.
Расположение имен «dunders» в коде:
Кавычки в строках:
В Python одинарные и двойные кавычки функционально одинаковы. PEP не дает рекомендации какие из них предпочтительнее. Выберите правило и придерживайтесь его. Если, например, строка содержит одинарные кавычки, чтобы избежать обратной косой черты в строке, используйте дополнительно двойные кавычки. Это улучшает читаемость.
Для строк с тройными кавычками всегда используйте символы двойной кавычки, чтобы соответствовать соглашению с документированной строкой в PEP 257.
Источник
Строки и функции для работы с ними (faq)
С троки в языке программирования 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,
Такой способ форматирования очень мощный, так как дает возможность встраивать выражения:
>>> 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 предоставляет широкие возможности работы с такими данными.
Источник