Арифметические операции со строками python

Строковый тип данных в Python: string

Строка — это некоторая последовательность символов. В языке Python строковые данные имеют формат str.

Строка в Python

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

>>> s = 'Hello world' >>> s 'Hello world' >>> s = "Hello world" >>> s 'Hello world'

Вывод в Python всегда будет в одинарных кавычках, так как производится перевод двойных кавычек в одинарные.

Проверим тип этой переменной:

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

>>> s='''Hello World!!''' >>> s 'Hello\nWorld!!'

В данном примере сохранился знак перехода на новую строку (‘\n’).

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

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

Теперь попробуем выполнить обратное действие

>>> s = '123' >>> int(s) 123 >>> float(s) 123.0 >>> s = '1.23' >>> float(s) 1.23 >>> int(s) Traceback (most recent call last): File "", line 1, in int(s) ValueError: invalid literal for int() with base 10: '1.23'

Если вид числа не удовлетворяет типу данных, то преобразование не выполняется. Компилятор выдает ошибку вида invalid literal, что в переводе означает недопустимый литерал (символ), из-за наличия точки, то есть данное число является числом с плавающей точкой (float).

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

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

Длина строки

В Python строка представляет собой массив символов, расположенных в определенной последовательности. Когда мы пишем:

Компьютер представляет это следующим образом:

0 1 2 3 4 5 6 7 8 9 10
H e l l o w o r l d

Воспользуемся функцией len(), чтобы узнать длину строки.

Как и было указано выше, длина данной строки — 11 символов (нумерация начинается с нуля).

Строка является массивом, поэтому мы можем обратиться к каждому отдельному элементу строки, давайте попробуем:

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

Сложение строк

Давайте попробуем сложить 2 строки:

>>> s1='Hello' >>> s2='world' >>> s1+s2 'Helloworld'

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

>>> s1='Hello' >>> s2='world' >>> s1+' '+s2+"!" 'Hello world!'

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

>>> s1='number ' >>> s1+1 Traceback (most recent call last): File "", line 1, in s1+1 TypeError: can only concatenate str (not "int") to str

Строковой тип данных можно складывать только с таким же типом.

Достаточно выполнить преобразование, чтобы получить правильное решение:

Умножение строк

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

>>> s='Hi' >>> s*2 'HiHi' >>> s*1.2 Traceback (most recent call last): File "", line 1, in s*1.2 TypeError: can't multiply sequence by non-int of type 'float' >>> s*s Traceback (most recent call last): File "", line 1, in s*s TypeError: can't multiply sequence by non-int of type 'str'

Операция умножения в данном случае является дублированием строки. Такое действие можно выполнить только целое число раз, поэтому при умножении на дробное число или на строку выдаёт ошибку.

Умножать строковой тип данных можно только на целые числа.

Курсы Робикс, в которых изучается этот материал.

Источник

Строки. Функции и методы строк

Python 3 логотип

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

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

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

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

  :  Поэтому все строковые методы возвращают новую строку, которую потом следует присвоить переменной.

Таблица «Функции и методы строк»

Функция или метод Назначение
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) Длина строки
S.find(str, [start],[end]) Поиск подстроки в строке. Возвращает номер первого вхождения или -1
S.rfind(str, [start],[end]) Поиск подстроки в строке. Возвращает номер последнего вхождения или -1
S.index(str, [start],[end]) Поиск подстроки в строке. Возвращает номер первого вхождения или вызывает ValueError
S.rindex(str, [start],[end]) Поиск подстроки в строке. Возвращает номер последнего вхождения или вызывает ValueError
S.replace(шаблон, замена[, maxcount]) Замена шаблона на замену. maxcount ограничивает количество замен
S.split(символ) Разбиение строки по разделителю
S.isdigit() Состоит ли строка из цифр
S.isalpha() Состоит ли строка из букв
S.isalnum() Состоит ли строка из цифр или букв
S.islower() Состоит ли строка из символов в нижнем регистре
S.isupper() Состоит ли строка из символов в верхнем регистре
S.isspace() Состоит ли строка из неотображаемых символов (пробел, символ перевода страницы (‘\f’), «новая строка» (‘\n’), «перевод каретки» (‘\r’), «горизонтальная табуляция» (‘\t’) и «вертикальная табуляция» (‘\v’))
S.istitle() Начинаются ли слова в строке с заглавной буквы
S.upper() Преобразование строки к верхнему регистру
S.lower() Преобразование строки к нижнему регистру
S.startswith(str) Начинается ли строка S с шаблона str
S.endswith(str) Заканчивается ли строка S шаблоном str
S.join(список) Сборка строки из списка с разделителем S
ord(символ) Символ в его код ASCII
chr(число) Код ASCII в символ
S.capitalize() Переводит первый символ строки в верхний регистр, а все остальные в нижний
S.center(width, [fill]) Возвращает отцентрованную строку, по краям которой стоит символ fill (пробел по умолчанию)
S.count(str, [start],[end]) Возвращает количество непересекающихся вхождений подстроки в диапазоне [начало, конец] (0 и длина строки по умолчанию)
S.expandtabs([tabsize]) Возвращает копию строки, в которой все символы табуляции заменяются одним или несколькими пробелами, в зависимости от текущего столбца. Если TabSize не указан, размер табуляции полагается равным 8 пробелам
S.lstrip([chars]) Удаление пробельных символов в начале строки
S.rstrip([chars]) Удаление пробельных символов в конце строки
S.strip([chars]) Удаление пробельных символов в начале и в конце строки
S.partition(шаблон) Возвращает кортеж, содержащий часть перед первым шаблоном, сам шаблон, и часть после шаблона. Если шаблон не найден, возвращается кортеж, содержащий саму строку, а затем две пустых строки
S.rpartition(sep) Возвращает кортеж, содержащий часть перед последним шаблоном, сам шаблон, и часть после шаблона. Если шаблон не найден, возвращается кортеж, содержащий две пустых строки, а затем саму строку
S.swapcase() Переводит символы нижнего регистра в верхний, а верхнего – в нижний
S.title() Первую букву каждого слова переводит в верхний регистр, а все остальные в нижний
S.zfill(width) Делает длину строки не меньшей width, по необходимости заполняя первые символы нулями
S.ljust(width, fillchar=» «) Делает длину строки не меньшей width, по необходимости заполняя последние символы символом fillchar
S.rjust(width, fillchar=» «) Делает длину строки не меньшей width, по необходимости заполняя первые символы символом fillchar
S.format(*args, **kwargs) Форматирование строки

Для вставки кода на Python в комментарий заключайте его в теги

Источник

Строковый тип данных в Python: string

Строка — это некоторая последовательность символов. В языке Python строковые данные имеют формат str.

Строка в Python

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

>>> s = 'Hello world' >>> s 'Hello world' >>> s = "Hello world" >>> s 'Hello world'

Вывод в Python всегда будет в одинарных кавычках, так как производится перевод двойных кавычек в одинарные.

Проверим тип этой переменной:

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

>>> s='''Hello World!!''' >>> s 'Hello\nWorld!!'

В данном примере сохранился знак перехода на новую строку (‘\n’).

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

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

Теперь попробуем выполнить обратное действие

>>> s = '123' >>> int(s) 123 >>> float(s) 123.0 >>> s = '1.23' >>> float(s) 1.23 >>> int(s) Traceback (most recent call last): File "", line 1, in int(s) ValueError: invalid literal for int() with base 10: '1.23'

Если вид числа не удовлетворяет типу данных, то преобразование не выполняется. Компилятор выдает ошибку вида invalid literal, что в переводе означает недопустимый литерал (символ), из-за наличия точки, то есть данное число является числом с плавающей точкой (float).

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

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

Длина строки

В Python строка представляет собой массив символов, расположенных в определенной последовательности. Когда мы пишем:

Компьютер представляет это следующим образом:

0 1 2 3 4 5 6 7 8 9 10
H e l l o w o r l d

Воспользуемся функцией len(), чтобы узнать длину строки.

Как и было указано выше, длина данной строки — 11 символов (нумерация начинается с нуля).

Строка является массивом, поэтому мы можем обратиться к каждому отдельному элементу строки, давайте попробуем:

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

Сложение строк

Давайте попробуем сложить 2 строки:

>>> s1='Hello' >>> s2='world' >>> s1+s2 'Helloworld'

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

>>> s1='Hello' >>> s2='world' >>> s1+' '+s2+"!" 'Hello world!'

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

>>> s1='number ' >>> s1+1 Traceback (most recent call last): File "", line 1, in s1+1 TypeError: can only concatenate str (not "int") to str

Строковой тип данных можно складывать только с таким же типом.

Достаточно выполнить преобразование, чтобы получить правильное решение:

Умножение строк

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

>>> s='Hi' >>> s*2 'HiHi' >>> s*1.2 Traceback (most recent call last): File "", line 1, in s*1.2 TypeError: can't multiply sequence by non-int of type 'float' >>> s*s Traceback (most recent call last): File "", line 1, in s*s TypeError: can't multiply sequence by non-int of type 'str'

Операция умножения в данном случае является дублированием строки. Такое действие можно выполнить только целое число раз, поэтому при умножении на дробное число или на строку выдаёт ошибку.

Умножать строковой тип данных можно только на целые числа.

Курсы Робикс, в которых изучается этот материал.

Источник

Читайте также:  Css site full height
Оцените статью