Как соединить строку python

Как объединить две строки в Python

Строка Python – это набор символов Юникода. Python предоставляет множество встроенных функций для обработки строк. Объединение строк (конкатенация) – это процесс, когда одна строка соединяется с другой строкой. Это можно сделать следующими способами.

С помощью оператора +

Это простой способ объединить две строки в Python. Оператор + может складывать несколько строк вместе. Строкам должны быть присвоены различные переменные, потому что строки неизменяемы. Разберем это на следующем примере.

# Python program to show # string concatenation # Defining strings str1 = "Hello " str2 = "Devansh" # + Operator is used to strings concatenation str3 = str1 + str2 print(str3) # Printing the new combined string

В приведенном выше примере переменная str1 хранит строку «Hello», а переменная str2 хранит «Devansh». Мы использовали оператор +, чтобы объединить эти две строковые переменные и сохранить их в str3.

Использование метода join()

Метод join() используется для соединения строки, в которой разделитель str разъединил элементы последовательности.

# Python program to # string concatenation str1 = "Hello" str2 = "JavaTpoint" # join() method is used to combine the strings print("".join([str1, str2])) # join() method is used to combine # the string with a separator Space(" ") str3 = " ".join([str1, str2]) print(str3)
HelloJavaTpoint Hello JavaTpoint

В приведенном выше коде переменная str1 хранит строку «Hello», а переменная str2 хранит «JavaTpoint». Метод join() возвращает объединенную строку, которая хранится в str1 и str2. Метод join() принимает в качестве аргумента только список.

Читайте также:  How to define functions in python

Применение оператора %

Оператор % используется для форматирования строки. Его также можно использовать для конкатенации строк.

# Python program to demonstrate # string concatenation str1 = "Hello" str2 = "JavaTpoint" # % Operator is used here to combine the string print("% s % s" % (str1, str2))

В приведенном выше коде % s представляет строковый тип данных. Мы передали значение обеих переменных % s, который объединил строки и вернул «Hello JavaTpoint».

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

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

# Python program to show # string concatenation str1 = "Hello" str2 = "JavaTpoint" # format function is used here to # concatenate the string print("<> <>".format(str1, str2)) # store the result in another variable str3 = "<> <>".format(str1, str2) print(str3)
Hello JavaTpoint Hello JavaTpoint

В приведенном выше коде функция format() объединяет обе строки и сохраняет в переменной str3. Фигурные скобки <> используются в качестве позиции строк.

Источник

Конкатенация строк в 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 и методы работы с ними

Строки в Python и методы работы с ними

В одной из прошлых статей я разбирал строки в JavaScript. Теперь пришло время поговорить о строках в языке программирования Python.

Начнем с теории. Строка – это последовательность символов произвольной длины. Также строки являются объектами класса str, и если мы захотим получить не строку, а число, то можем использовать функцию приведения.

Склеивание и разделение строк

Самый простой способ склеить строки в Python – это сложить их с помощью знака «+». Рассмотрим на примере:

str = "a"+"b" print(str) # Выведет "ab"

Но такой способ не всегда будет нам подходить. Рассмотрим метод join():

str = ["a", "b", "c"] print("".join(str)) # Выведет "abc"

Перед .join() мы указываем разделитель строк, а в скобках сам их массив.

Для того чтобы разделить строки, используем обратный метод – split(). Тут в скобках указываем набор символов, по которым будет идти разделение, а перед методом не забываем указать имя строки, а после нее поставить точку. Рассмотрим на примере:

str = "a,b,c" print(str.split(",")) # Выведет ['a', 'b', 'c']

Существует и другой способ разделения строк, он называется срез. Срез str[x:y] позволит нам получить строку от символа x до y. При этом необязательно указывать оба параметра, ведь в таком случае срез произойдет от начала или до самого конца строки.

str = "Строки в Python и методы работы с ними" print(str[9:15]) # Выведет "Python"
str = "Строки в Python и методы работы с ними" print(str[:15]) # Выведет "Строки в Python"
str = "Строки в Python и методы работы с ними" print(str[18:]) # Выведет "методы работы с ними"

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

str = "123456789" print(str[::2]) # Выведет "13579"

Форматирование строк в Python

Для подстановки в строку любой переменной, которая может являться результатом работы основной части кода, нам понадобятся f-строки. Они появились в Python 3.6, поэтому я рекомендую использовать только свежие версии этого языка программирования. Рассмотрим на примере работу с f-строками:

num = 2*10 num2 = 100 str = f"Первое число: . Второе число: " print(str) # Выведет "Первое число: 20. Второе число: 100"

Поиск в строках

Если нам нужно найти набор символов в начале или в конце данной строки, то на помощь приходят два быстрых метода.

Первый метод – startswith(). Он позволяет искать набор символов в начале строки. Рассмотрим на примере:

str = "Строки в Python и методы работы с ними" print(str.startswith("Строки")) #Выведет True

Второй метод – endswith(). Он позволяет искать набор символов в конце строки. Рассмотрим на примере:

str = ". я разбирал строки в JavaScript" print(str.endswith("JavaScript")) #Выведет True

А если нам нужно найти набор символов в произвольном месте строки, то используем метод find(). Рассмотрим на примере:

str = "Строки в Python и методы работы с ними" print(str.find("Python")) #Выведет 9

В данном случае скрипт нашел набор символов в строке и вывел индекс начала его вхождения в ней.

str = "Строки в Python и методы работы с ними" print(str.find("JavaScript")) #Выведет -1

А в этом случае скрипт не нашел набор символов в строке и вывел «-1».

Замена в строках

Для замены одного набора символов на другой в строке используют метод replace(). Рассмотрим данный метод на примере:

str = "Строки в Python и методы работы с ними" print(str.replace("Python", "JavaScript")) #Выведет "JavaScript"

Вывод каждого символа в строке

Если нам нужно получить и обработать каждый символ в строке отдельно, то мы можем использовать цикл for. Рассмотрим на примере:

str = "123" for i in str: print(i) #Выведет "1" "2" "3"

Узнаем длину строки

Для того чтобы получить длину строки, используем метод len():

str = "123" print(len(str)) # Выведет 3

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

Если мы имеем строку, состоящую из набора цифр, то мы смело можем преобразовать ее в число, используя функцию приведения int(). Рассмотрим на примере:

str = "123" print(int(str)) # Выведет 123

Изменение регистра строк в Python

Для того чтобы все буквы в строке были заглавными, используем метод upper():

str = "Строки в Python и методы работы с ними" print(str.upper()) # Выведет "СТРОКИ В PYTHON И МЕТОДЫ РАБОТЫ С НИМИ"

И метод lower() для строчных букв:

str = "СТРОКИ В PYTHON И МЕТОДЫ РАБОТЫ С НИМИ" print(str.upper()) # Выведет "строки в python и методы работы с ними"

Чтобы первая буква в строке стала заглавной, следует использовать метод capitalize():

str = "строки в python и методы работы с ними" print(str.capitalize()) # Выведет "Строки в python и методы работы с ними"

Удаление лишних пробелов из строк

Метод strip() удаляет пробельные символы в начале и в конце строки. lstrip() и rstrip() делают то же самое, но в определенных местах: первый метод в начале строки, а второй – в ее конце.

Итог

Мы разобрали основные методы работы со строками в Python. Предлагайте идеи для статей и удачи в ваших начинаниях!

Источник

Оцените статью