# Строки и форматирование
Вы уже умеете выводить на экран текст, складывая строки. А вот как напечатать без этого? Нужно в скобках функции print() перечислить через запятую аргументы, которые она печатает:
Запятая между аргументами по умолчанию заменяется на пробел.
Это значит, что в сообщения можно не добавлять пробелы, когда составляете сложную фразу. Достаточно разделить аргументы функции print() запятой. И, что приятно, количество этих аргументов не ограничено:
# Упражнения
- Продолжим учить Виту вести беседы о погоде. Напечатайте на экран данные из списка weather_today в формате 'Сегодня гроза и на градуснике 21' . Вместо сложения строк и приведения чисел к строкам просто перечислите аргументы в скобках функции print() .
# Метод split()
Разбить фразу на слова, и вообще разделить строку по определённому символу можно методом split() (англ. «разделить»). В результате получится список строк. Метод split() принимает аргумент, указывающий, какой разделитель использовать.
Замечание. Да, Python позволяет использовать отрицательные индексы для обращения к элементам списка. При этом -1 соответствует последнему элементу, -2 — предпоследнему, и т.д. В общем случае, blok_list[-k] — это то же самое, что blok_list[len(blok_list) — k] , только короче. Например, если нужен пятый символ с конца списка s , можно написать s[len(s) — 5] или, короче, s[-5] . Если в вызове split() не указывать разделитель, то строка разобьётся по пробелам:
Тогда появятся лишние точки на концах слов. Их удобнее всего убирать методом strip() — он убирает указанные символы в начале и в конце.
# Упражнения
- Имеется список запросов queries . Необходимо определить, какие из них адресованы Вите, а какие — другим людям. Напишите функцию check_query() , которая принимает запрос как параметр, анализирует его и возвращает один из двух вердиктов:
- строку 'запрос к Вите', если запрос начинается с обращения к Вите,
- строку 'запрос к кому-то ещё', если нет.
Код вывода результатов на экран уже написан в основном теле программы.
- Вы умеете звать Виту. Теперь надо научить её распознавать суть запроса. Отделите обращения — перепишите функцию check_query() так, чтобы она возвращала: Например, для запроса 'Вита, сколько у меня друзей?' верните строку 'сколько у меня друзей?'. Для запроса 'Серёга, ты где?' — строку 'ты где?'. У строки, которую она возвращает, не должно быть пробелов в начале и конце.
# Форматирование строк
До сих пор для вывода текста на экран вам приходилось собирать его из нескольких частей. Но есть и другой способ. Для сборки текста из разных элементов удобны f-строки (от англ. formatted string, «форматированные строки»). Эти f-строки включают имена переменных внутри фигурных скобок. Значения переменных подставляются в строку автоматически. В коде f-строки выглядят как обычные, только начинаются с символа f перед кавычками:
Преобразование типов из числа в строку f-строки проделывают автоматически:
# Упражнения
- Замените объединение строк на f-строку.
- В коде финальной задачи из темы «Циклы и ветвления» замените все объединения строк на f-строки.
# Подробнее о форматировании
В f-строки можно подставлять не только переменные, но и результаты вычислений. Например, арифметические операции:
И обращение к элементам списка:
А также к элементам словаря по ключу:
Хоть Python и позволяет вставлять очень сложные выражения внутрь f-строк , не злоупотребляйте этой возможностью. Иначе получится перегруженный код, в котором будет сложно разобраться. Сравните два эквивалентных примера:
Второй намного понятнее, хотя строк стало в четыре раза больше. Не так ли? Лучше придерживаться общего правила: f-строки используются только для форматирования вывода, а вычислять все выражения надо вне их. И вообще, не стоит экономить на количестве строчек кода, принося в жертву его читаемость.
# Упражнения
- Научите Виту сообщать время в формате ЧЧ:ММ:СС (часы, минуты, секунды). Например На часах 19:28:06 .
- Вите передали список listened (англ. listen, "слушать") с хронометражем прослушанных песен в секундах. Выведите на экран суммарную статистику: 'Вы прослушали N песен.', где N — длина списка listened .
- Вите передали список listened (англ. listen, "слушать") с хронометражем прослушанных песен в секундах. Выведите на экран суммарную статистику:
'Вы прослушали N песен, общей продолжительностью M минут и S секунд.'
- N — длина списка listened ;
- M — количество целых минут общей продолжительности прослушанного;
- S — остаток от целых минут.
# Запросы к друзьям
В предыдущей теме «Словари и множества» вы добавили в код персонального ассистента Виты данные о том, где живут ваши друзья. И она уже умеет отвечать на следующие запросы:
- Сколько у меня друзей?
- Кто все мои друзья?
- Где все мои друзья?
Сейчас вам предстоит расширить возможности Виты. Научить её отвечать на вопросы про отдельных друзей. Начнём с самого простого вопроса «ты где?» — внутри Виты уже хранятся данные о местоположении. Если, например, Коля и Соня находятся в списке друзей, то запросы о них будет выглядеть следующим образом:
- Коля, ты где?
- Соня, ты где?
Чтобы различать вопросы про отдельных друзей от общих вопросов к Вите, будем начинать общие вопросы с прямого обращения, вот так:
- Вита, сколько у меня друзей?
- Вита, кто все мои друзья?
- Вита, где все мои друзья?
Тогда различать просто. Если вопрос начинается с имени "Вита", то это общий вопрос. А если с другого имени, то это вопрос про конкретного друга. Полагаем, правда, что у нас нет друзей по имени Вита.
# Упражнения
- Это код Виты, который вы последовательно писали на протяжении нескольких тем. Можете запустить его, вспомнить как выполняются запросы из списка queries .
А. Отредактируйте список запросов queries. Все запросы должны начинаться с обращения Вита:
- Вита, сколько у меня друзей?
- .
Б. Напишите функцию process_query(query) . Значение параметра query должно быть обработано методом split() . Отделите имя в начале от тела запроса (т.е., от оставшейся части).
Если запрос начинается с имени "Вита", то вызовите функцию process_anfisa() , передав в неё тело запроса как параметр. И верните результат выполнения этой функции. Если запрос начинается с другого имени, то пока ничего не делайте — это отложим до следующей задачи.
В. Измените в функции runner() вызов process_anfisa() на вызов process_query() .
- А. Напишите функцию process_friend(name, query) (англ. friend, "друг"), принимающую имя друга name и запрос query .
- Если друга с указанным именем Н нет в списке, то функция должна вернуть сообщение об ошибке У тебя нет друга по имени Н .
- Если запрос — "ты где?", то функция должна вернуть сообщения 'Н в городе Г', где Г определяется по данным словаря DATABASE .
- Если запрос не "ты где?", а какой-то другой, то функция должна вернуть сообщение об ошибке <неизвестный запрос>.
Б. Допишите функцию process_query() . Если запрос начинается не с "Вита", а с другого имени, то вызовите функцию process_friend(name, query) , передав в неё имя друга и тело запроса. И верните результат выполнения этой функции.
Python: Как разделить строку на слова
Работа со строками — это основная задача при программировании на любом языке. Python предоставляет набор встроенных методов, которые упрощают манипуляции со строками. Одной из распространенных операций является разбиение строки на слова.
Метод split()
Один из наиболее простых способов разделить строку на слова в Python — это использовать метод split() . В качестве параметра этому методу можно передать разделитель, который будет использоваться для разделения строки. Если параметр не указан, то по умолчанию используется пробел.
Пример использования split()
Метод split() с указанием разделителя
Если вам нужно разделить строку по определенному символу или набору символов, вы можете указать это в качестве параметра в методе split().
Пример использования split() с указанием разделителя
Использование регулярных выражений
В некоторых случаях метод split() может быть недостаточно гибким. Например, если разделителей может быть несколько, или если они могут меняться. В этом случае на помощь приходят регулярные выражения.
Пример использования регулярных выражений
Заключение
Python предоставляет множество удобных инструментов для работы со строками, включая разделение строки на слова. Выбор метода зависит от ваших потребностей и сложности задачи.
Подсчет повторений слов в тексте, деление строки на список слов
Для подсчета повторений слов в тексте необходимо научиться преобразовывать текст/сроку в список слов. Это можно сделать двумя способами:
Использовать метод строки str.split() и делить строку по пробелам между словами.
Использовать модуль re и делить строку по границам слов специальным символом регулярных выражений \W .
Подсчет повторений слов в тексте или символов в строке.
Подсчет повторений слов в тексте или символов в строке можно осуществить несколькими способами. Но для начала, если будем считать слова в тексте, необходимо этот текст подготовить, а именно очистить от знаков пунктуации и преобразовать его в список слов, как показано выше.
Для этого, возьмем готовый код замены пунктуации из подраздела "Удаление пунктуации из строки" и обернем в функцию text_clear() , далее получим из текста список слов и в цикле посчитаем сколько раз каждое слово встречается в исходном тексте.
Быстрый способ подсчета повторений элементов в последовательности.
Конечно это все прекрасно работает и хороший пример для самообучения но здесь много кода и к тому же в Python во встроенном модуле collections есть класс Counter() для целей подсчета повторений элементов в последовательности.
Learn How To Use Split Function In Python
![]()
Python programming language has various data types including strings. Even though strings are immutable in nature, we can still manipulate a string using functions like a split function. It breaks down larger strings into smaller strings using different parameters. In this article, we will learn about how we can use the split function in python. Following are the topics discussed in this article:
- What Is A String?
- Need For Split Function?
- How To Use Split Function In Python?
- Split Parameters
- Separator
- Max
- Example
What Is A String?
Strings in python represent unicode character values. Python does not have a character data type, a single character is also considered as a string.
We use the single or double quotes to declare a string. To access a string, we use the indexes and square brackets. Since strings are mutable in nature, we cannot make any changes after declaring a string.
Although we cannot change a string after declaration, we can split a string in python.
Need For Split Function
Split function returns a list of strings after dividing the string based on the given separator. Following are the advantages of using a split function in python:
- At some point we may have to break down a large string into smaller chunks or strings.
- It is the opposite of concatenation, which adds two strings together.
- The white spaces are considered as a separator if none is provided in the split function.
- It becomes easier to analyze and deduct conclusions.
- It helps to decode encrypted strings.
How To Use Split Function In Python?
Split function breaks down a larger string and gives a list with smaller chunks or strings. Below is an example to split a string in python.
Above is a simple example to show how split function can be used to break down the whole text into smaller strings. But split function has different parameters to optimize the execution.
Split Parameters
- Separator — It acts like a delimiter, the string is broken down according to the separator specified. It is optional as well, if there is no separator specified, the default separator will be the white space.
- Max — It is optional as well. It defines the number of splits that will take place. The default value is -1 which means no limits on the number of splits.
Separator
Below is an example to show the split function with a separator parameter:
In the above example, the separator is specified according to which the string is split into smaller strings.
Below is an example to show the split function with a max parameter:
The max parameter in the above example is set to 3, which means the output will have 4 elements in the list of strings.
Example
Below are a few examples, where we can use the split function to split the string into smaller chunks or strings.
In this blog, we have learnt how split function can be used to break down large strings into smaller chunks or strings. String is an immutable data structure which means it cannot be changed once you have declared it. Although manipulation can be done using split function. Python programming language has different data types like list, dictionary, tuple, set etc.
Primitive data types and specialized data structures optimize your code and gives an edge to python over other programming languages. To master your skills enroll to Python online training program and kick-start your learning.
If you wish to check out more articles on the market’s most trending technologies like Artificial Intelligence, DevOps, Ethical Hacking, then you can refer to Edureka’s official site.
Do look out for other articles in this series which will explain the various other aspects of Python and Data Science.