В Python строки можно создавать, заключая символ или последовательность символов в кавычки. Python позволяет нам использовать одинарные, двойные или тройные кавычки для создания строки. Эта статья, как и пре дыду щая, дос тупна без плат ной под писки, так что сме ло делись эти ми ссыл ками с друзь ями, которые меч тают выучить Python. И, как я уже рас ска зывал в прош лой статье, от строк мож но брать сре зы как от мас сивов, если ука зать начало и конец подс тро ки в квад ратных скоб ках пос ле перемен ной.
Строки в Python
Строка — это последовательность символов.
Символ — это просто одиночный символ. Например, в английском языке 26 символов, букв.
Компьютер работает не с символами, а с числами в двоичной записи. Вы видит на экране символы, но компьютер хранит и обрабатывает их как комбинацию нулей и единиц.
Преобразование символа в число называется кодированием, а обратный процесс — декодированием. О самых известных стандартах кодирования вы, скорее всего, слышали. Это ASCII и Unicode.
В Python каждая строка — это последовательность символов Юникода, поскольку он позволяет использовать символы из всех языков мира и обеспечивает единообразие кодировки.
Python с абсолютного нуля. Учимся работать со строками, файлами и интернетом — Хакер
Как создать строку
Если заключить набор символов в одинарные » или двойные «» кавычки с двух сторон, получится строка. В Python можно использовать и тройные кавычки »»» , но их обычно используют для многострочных строк и строк документации.
1. По индексу
Получить доступ к отдельным символам в строке можно стандартным способом — по индексу.
Примечание. Первый элемент в строке (то есть первый символ) Python имеет индекс 0.
Индекс всегда должен быть целым числом, поэтому тип float не подойдет. Использование в качестве индекса числа с плавающей точкой приведет к ошибке TypeError.
Если вы попытаетесь получить доступ к символу с индексом, который больше длины строки, Python выдаст ошибку IndexError.
Индекс не обязательно должен быть положительным числом. Python поддерживает и «отрицательную индексацию». Индекс -1 ссылается на последний символ, -2 — на предпоследний и так далее.
2. С помощью среза
Получить доступ к символам в строке можно и с помощью слайсинга (от англ. «нарезание»). Таким способом удобно получать набор символов в заданном диапазоне.
Срезы задаются с помощью квадратных скобов [] и 2-3 аргументов через двоеточие : .
Если мы попытаемся получить доступ к символу с индексом вне допустимого диапазона или использовать не целые числа, получим ошибку.
В Python есть ключевое слово list(). Это функция, которая либо создает пустой список, либо приводит к списку итерируемый объект. Чтобы создать пустой объект списка с помощью функции, напишите: С помощью выражения-генератора можно вообще забыть о потребности в функции square_even и сделать то же самое с помощью одной строки кода. Дело в том, что списки в Python больше похожи на то, что мы привыкли называть массивами в других языках программирования, а не на связанные списки, которые обычно приходят на ум при слове список.
Создание строки в Python
Мы можем создать строку, заключив символы в одинарные или двойные кавычки. Python также предоставляет тройные кавычки для представления строки, но они обычно используются для многострочных строк или документов.
Как и в других языках, индексация строк в Python начинается с 0 . Например, строка «HELLO» индексируется так, как показано на рисунке ниже.
В Python мы можем использовать оператор : (двоеточие) для доступа к подстроке из заданной строки. Рассмотрим следующий пример.
Здесь мы должны заметить, что верхний диапазон, заданный в операторе slice , всегда является эксклюзивным, т.е. если задано str = ‘HELLO’ , то str[1:3] всегда будет включать str[1] = ‘E’ , str[2] = ‘L’ и ничего больше.
Мы можем сделать отрицательную нарезку в строке; она начинается с самого правого символа, который обозначается как -1 . Второй крайний правый индекс обозначает -2 , и так далее. Рассмотрим следующее изображение.
Однострочный for на Python: списковое включение и генераторные выражения | by Maria Hladka | NOP: Nuances of Programming | Medium
Удаление строки в Python
Как мы знаем, строки неизменяемы. Мы не можем удалить или убрать символы из строки. Но мы можем удалить всю строку, используя ключевое слово del .
Оператор | Описание |
---|---|
+ | Ооператор конкатенации, используемый для соединения строк, заданных по обе стороны от оператора. |
* | Оператор повторения. Он объединяет несколько копий одной и той же строки. |
[] | Оператор среза. Он используется для доступа к подстрокам определенной строки. |
[:] | Оператор среза диапазона. Он используется для доступа к символам из указанного диапазона. |
in | Оператор членства. Он возвращает, присутствует ли определенная подстрока в указанной строке. |
not in | Оператором членства и выполняет прямо противоположное действие по отношению к in . Он возвращает true , если определенная подстрока отсутствует в указанной строке. |
r/R | Используется для указания необработанной строки. Необработанные строки используются в тех случаях, когда необходимо вывести фактическое значение управляющих символов, таких как C://python . Чтобы определить любую строку как необработанную, за строкой следует символ r или R . |
% | Он используется для форматирования строк. Он использует спецификаторы формата, применяемые в программировании на языке C , такие как %d или %f , для отображения их значений в python. |
Рассмотрим следующий пример, чтобы понять использование операторов Python.
Здесь мы вызываем функцию input( ) , чтобы получить значение, вычитаем его из 73 (средняя продолжительность жизни россиянина), не забыв превратить строку в число, а потом печатаем результат, превратив число обратно в строку и сложив с другими строками. Итак, ты узнал, что такое целочис ленные и стро ковые перемен ные, что эти типы мож но пре обра зовы вать друг в дру га коман дами int и str. Разумное применение включений улучшает качество вашего кода, но откажитесь от слепой замены всех циклов на выражения, ведь иногда замена вложенного цикла for на включение снижает понятность кода.
Производительность генераторных выражений
Наконец, давайте посмотрим на производительность включений в сравнении с обычным циклом for :
Аналогичный бенчмарк для генераторов множеств и словарей дает схожие результаты: включение работает немного быстрей.
Для генераторных выражений сравнение с циклом for + yield бессмысленно: оба возвращают объект-генератор почти мгновенно. Время не тратится на вычисление значений, поскольку генераторы не хранят значения.
Следовательно, не стоит универсально везде применять включения для повышения производительности программ. Выигрыш в скорости выполнения незначителен по сравнению с вредом, наносимым длинными и многословными включениями. Применяйте генераторы последовательностей только тогда, когда это очистит ваш код без снижения его качества.
Как работать со списками в Python Списки в Python: что это такое и как с ними работать, как добавить или удалить элементы. Создание списка Python. Методы, функции, срезы, генераторы и примеры
- Списковые включения (генераторысписков, Listcomps).
- Словарные включения (генераторы словарей, Dictcomps).
- Множественные включения (генераторы множеств, Setcomps).
- Генераторные выражения (GenExp).
Содержание статьи