Сложение двух строк питон

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

Объединение строк – очень распространенная операция в программировании. Объединение строк в Python может быть выполнено различными способами.

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

  • использование оператора+;
  • использование метода join();
  • использование оператора%;
  • использование функции format();
  • Использование f-строки (интерполяция буквальной строки).

Конкатенация строк с использованием оператора +

Это самый простой способ конкатенации строк. Давайте посмотрим на простой пример.

s1 = 'Apple' s2 = 'Pie' s3 = 'Sauce' s4 = s1 + s2 + s3 print(s4)

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

s1 = input('Please enter the first string:\n') s2 = input('Please enter the second string:\n') print('Concatenated String =', s1 + s2)
Please enter the first string: Hello Please enter the second string: World Concatenated String = HelloWorld

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

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

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

Мы можем использовать функцию str(), чтобы получить строковое представление объекта.

Давайте посмотрим, как связать строку с целым числом или другим объектом.

print('Hello' + str(4)) class Data: def __init__(self, i): self.id = i def __str__(self): return 'Data[' + str(self.id) + ']' print('Hello ' + str(Data(10)))

Самая большая проблема с оператором + заключается в том, что мы не можем добавить разделитель или разделитель между строками. Например, если нам нужно объединить «Hello» и «World» с разделителем пробелов, нам нужно будет записать его как «Hello» + «» + «World».

Конкатенация строк в Python с использованием функции join()

Мы можем использовать функцию join() для объединения строки с разделителем. Это полезно, когда у нас есть последовательность строк, например список или кортеж строк.

Если вам не нужен разделитель, используйте функцию join() с пустой строкой.

s1 = 'Hello' s2 = 'World' print('Concatenated String using join() =', "".join([s1, s2])) print('Concatenated String using join() and whitespaces =', " ".join([s1, s2]))
Concatenated String using join() = HelloWorld Concatenated String using join() and spaces = Hello World

Конкатенация с использованием оператора%

Мы можем использовать оператор% для форматирования строк, он также может использоваться для конкатенации строк. Это полезно, когда мы хотим объединить строки и выполнить простое форматирование.

s1 = 'Hello' s2 = 'World' s3 = "%s %s" % (s1, s2) print('String Concatenation using % Operator =', s3) s3 = "%s %s from JournalDev - %d" % (s1, s2, 2018) print('String Concatenation using % Operator with Formatting =', s3)
String Concatenation using % Operator = Hello World String Concatenation using % Operator with Formatting = Hello World from JournalDev - 2018

С использованием функции format()

Мы также можем использовать функцию string format() для объединения и форматирования строк.

s1 = 'Hello' s2 = 'World' s3 = "<>-<>".format(s1, s2) print('String Concatenation using format() =', s3) s3 = " ".format(in1=s1, in2=s2) print('String Concatenation using format() =', s3)
String Concatenation using format() = Hello-World String Concatenation using format() = Hello World

Функция format() очень мощная, использование ее только для конкатенации строк – неправильное использование.

С использованием f-строки

Если вы используете Python 3.6+, вы также можете использовать f-строку для конкатенации строк. Это новый способ форматирования строк, представленный в PEP 498 – Literal String Interpolation.

s1 = 'Hello' s2 = 'World' s3 = f' ' print('String Concatenation using f-string =', s3) name = 'Pankaj' age = 34 d = Data(10) print(f' age is and d=')
String Concatenation using f-string = Hello World Pankaj age is 34 and d=Data[10]

F-строка в Python проще в написании по сравнению с функцией format(). Он также вызывает функцию str(), когда аргумент объекта используется в качестве замены поля.

Заключение

Форматирование строки Python можно выполнить несколькими способами. Используйте их в соответствии с вашими требованиями. Если вам нужно объединить последовательность строк с разделителями, используйте функцию join().

Если при конкатенации также требуется некоторое форматирование, используйте функцию format() или f-строку. Обратите внимание, что f-строку можно использовать с версиями Python 3.6 и выше.

Источник

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

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 в комментарий заключайте его в теги

Источник

Читайте также:  Java spring autowired bean
Оцените статью