Автор оригинала: Pankaj Kumar.
Строкование Concatenation – очень распространенная операция в программировании. Конкретация строки Python может быть сделано с использованием различных способов. Этот учебник предназначен для изучения различных способов объединения строк в программе Python.
Строка Python Concatenation
Мы можем выполнить конкатенацию строки, используя следующие способы:
- Использование + оператор
- Использование метода join ()
- Использование% оператора
- Использование формата () функции
- Использование F-строки (литеральная строка интерполяции)
Струнные конкатенации с использованием оператора +
Это самый простой способ конкатенации строки. Давайте посмотрим на простой пример.
s1 = 'Apple' s2 = 'Pie' s3 = 'Sauce' s4 = s1 + s2 + s3 print(s4)
Выход: Applepiesauce.
Давайте посмотрим на другой пример, где мы получим две строки от пользовательского ввода и объединения их.
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
Это очень легко использовать + оператор для конкатенации строки. Однако аргументы должны быть строкой.
>>>'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: id = 0 def __init__(self, i): self.id = i def __str__(self): return 'Data[' + str(self.id) + ']' print('Hello ' + str(Data(10)))
Выход:
Hello4 Hello Data[10]
Самая большая проблема с оператором + заключается в том, что мы не можем добавить какой-либо сепаратор или разделитель между строками. Например, если мы должны объединить «Hello» и «Мир» с сепаратором пробела, нам придется написать это как "Hello" + "" + "мир"
Отказ
Струнные конкатенации с использованием функции 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
Строковое конконтрация с использованием функции формата ()
Мы можем использовать функцию строки () для Concatenation и форматирования строки.
s1 = 'Hello' s2 = 'World' s3 = "{}-{}".format(s1, s2) print('String Concatenation using format() =', s3) s3 = "{in1} {in2}".format(in1=s1, in2=s2) print('String Concatenation using format() =', s3)
Выход:
String Concatenation using format() = Hello-World String Concatenation using format() = Hello World
Функция () Python String () Очень мощная, используя его только для конкатенации строк не является его правильным использованием.
Строка Concatenation с использованием F-String
Если вы используете Python 3.6+, вы можете использовать F-String для Concatenation String. Это новый способ отформатировать строки и введен в PEP 498 – литеральная струнная интерполяция Отказ
s1 = 'Hello' s2 = 'World' s3 = f'{s1} {s2}' print('String Concatenation using f-string =', s3) name = 'Pankaj' age = 34 d = Data(10) print(f'{name} age is {age} and d={d}')
Выход:
String Concatenation using f-string = Hello World Pankaj age is 34 and d=Data[10]
Python F-string – это очиститель и проще для записи по сравнению с форматом () функцией. Он также вызывает функцию str (), когда аргумент объекта используется в качестве замены поля.
Заключение
Форматирование строки Python можно сделать несколькими способами. Используйте их на основе ваших требований. Если вам необходимо объединить последовательность строк с разграниченным, то используйте функцию join (). Если некоторое форматирование также требуется с конкатенацией, затем используйте формат () функцию или F-строку. Обратите внимание, что F-String может использоваться с версиями Python 3.6 или выше.