Строка плюс число python

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

Конкатенация строк в Python — это операция соединения двух или более строк в одну. В результате конкатенации создается новая строка, которая содержит все символы из исходных, расположенные в нужном порядке. Пример: если у нас есть две строки Hello и world! , то конкатенация этих строк даст новую строку Hello world! В Python, как и во многих других языках программирования, для конкатенации строк используются разные способы. Рассмотрим их все.

Оператор +

Возьмем классический пример:

string1 = "Hello"
string2 = "world!"
string3 = string1 + ", " + string2
print(string3)

Hello, world!

Здесь мы присвоили строке string1 значение Hello , а строке string2 значение world! , а затем сложили их, добавив запятую с пробелом в середине, и вывели на экран новую строку.

Приведем еще пару примеров конкатенации с помощью оператора + . Вот конкатенация трех строк:

string1 = "I"
string2 = "love"
string3 = "Python"
result = string1 + " " + string2 + " " + string3
print(result)

I love Python

Как видим, никаких отличий. И такой пример:

first_name = "Monty"
last_name = "Python"
result = "My name is " + first_name + " " + last_name
print(result)

My name is Monty Python

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

Читайте также:  Php что такое explode

Метод join()

В примерах выше мы использовали оператор + для соединения двух или более строк. Но также конкатенация строк в Python 3 может быть выполнена и при помощи метода join() . Вот наш первый пример, записанный таким способом:

strings = ["Hello", "world!"]string3 = ", ".join(strings)
print(string3)

И в выводе мы увидим всё тот же Hello, world! .

А вот и два других примера, переписанные с использованием метода join() :

strings = ["I", "love", "Python"]result = " ".join(strings)
print(result)

I love Python
first_name = "Monty"
last_name = "Python"
strings = ["My name is", first_name, last_name]result = " ".join(strings)
print(result)

My name is Monty Python

Обратите внимание, что в обоих примерах мы создали список строк и затем использовали метод join() для их соединения в одну строку. В первом примере мы только добавили пробел для разделения слов, а во втором еще и задействовали переменные в списке.

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

Если мы просто попытаемся соединить строку и число, то получим ошибку:

age = 28
message = "I am " + age + " years old."
print(message)

Traceback (most recent call last):
File "C:/Python/Python38/concat1.py", line 2, in
message = "I am " + age + " years old."
TypeError: can only concatenate str (not "int") to str

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

Конкатенация строки и числа через str()

Чтобы исправить эту ошибку, мы можем использовать функцию str() для преобразования числа в строку. Вот пример правильной конкатенации строки и числа:

age = 28
message = "I am " + str(age) + " years old."
print(message)

I am 28 years old.

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

Конкатенация строки и числа через format()

То же самое можно сделать, и используя метод format() :

age = 28
message = "I am <> years old.".format(age)
print(message)

I am 28 years old.

Этот метод работает так же, как и функция str() , различается лишь синтаксис.

Конкатенация строки и числа через f-строки

И еще один способ вывести такой же результат: задействовать новинку версии 3 — f-строки :

age = 28
message = f"I am years old."
print(message)

I am 28 years old.

f-строки ( formatted string literals ) в Python действуют так же, как и метод str.format() , но предоставляют более удобный и лаконичный способ переноса значений в строку. С помощью f-строк мы можем вставлять значения переменных прямо внутрь строки, используя фигурные скобки <> и указывая имя переменной внутри этих скобок. Вот еще несколько примеров конкатенации строк и чисел с использованием f-строк :

name = "Monty"
age = 35
print(f"My name is and I am years old.")

My name is Monty and I am 35 years old.
salary = 100000
tax_rate = 0.25
taxes = salary * tax_rate
print(f"My salary is and my taxes are .")

My salary is 100000 and my taxes are 25000.0.

Как видите, мы можем вставлять значения переменных внутрь строки, используя фигурные скобки, и Python автоматически подставляет значения переменных в эти места при выполнении программы. Обратите внимание, что f-строки поддерживают также различные форматы вывода, которые можно указать внутри фигурных скобок. Например, можно указать количество знаков после запятой для чисел с плавающей запятой (или точкой). Это делает f-строки ещё более мощными средствами форматирования.

H3: Заключение

На примере конкатенации мы в очередной раз убедились, насколько гибким является Python, ведь соединять строки здесь можно разными методами. И даже соединение строки с числом путем преобразования числового значения в строчное можно выполнить как минимум тремя способами: просто выберите понравившийся.

Источник

Python: Concatenate a String and Int (Integer)

Python Concatenate String and Int Integer Cover Image

In this tutorial, you’ll learn how to use Python to concatenate a string and an int (integer). Normally, string concatenation is done in Python using the + operator. However, when working with integers, the + represents addition. Because of this, Python will raise an error, a TypeError to be exact, when the program is run.

By the end of reading this tutorial, you’ll have learned how to use Python to concatenate a string and an int using a number of methods. You’ll have learned how to use the str() function, the .format() method, % format specifier, and – my personal favourite – Python f-strings.

The Quick Answer: Use f-strings or str() to Concatenate Strings and Ints in Python

Quick Answer - Python Concatenate a String and Int

Concatenate a String and an Int in Python with +

In many programming languages, concatenating a string and an integer using the + operator will work seamlessly. The language will handle the conversion of the integer into a string and the program will run fine. In Python, however, this is not the case. Due to the dynamic typing nature of Python, the language cannot determine if we want to convert the string to an integer and add the values, or concatenate a string and an int. Because of this, the program will encounter a TypeError .

Let’s see what this looks like when we simply try to concatenate a string and an integer in Python using the + operator:

# Trying to Concatenate a String and an Int in Python word = 'datagy' integer = 2022 new_word = word + integer # Returns: TypeError: can only concatenate str (not "int") to str

The TypeError that’s raised specifically tells us that a string and an integer cannot be concatenated. Because of this, we first need to convert our integer into a string. We can do this using the string() function, which will take an input and convert it into a string, if possible.

Let’s try running our running program again, but this time converting the int into a string first:

# Concatenating a String and an Int in Python with + word = 'datagy' integer = 2022 new_word = word + str(integer) print(new_word) # Returns: datagy2022

We can see that by first converting the integer into a string using the string() function, that we were able to successfully concatenate the string and integer.

In the next section, you’ll learn how to use Python f-strings to combine a string and an integer.

Concatenate a String and an Int in Python with f-strings

Python f-strings were introduced in version 3.6 of Python and introduced a much more modern way to interpolate strings and expressions in strings. F-strings in Python are created by prepending the letter f or F in front of the opening quotes of a string. Doing so allows you to include expressions or variables inside of curly braces that are evaluated and converted to strings at runtime.

Because of the nature of f-strings evaluating expressions into strings, we can use them to easily concatenate strings and integers. Let’s take a look at what this looks like:

# Concatenating a String and an Int in Python with f-strings word = 'datagy' integer = 2022 new_word = f'' print(new_word) # Returns: datagy2022

One of the great things about f-strings in Python is how much more readable they are. They provide us with a way to make it immediately clear which variables are being joined and how they’re being joined. We don’t need to wonder about why we’re converting an integer into a string, but just know that it’ll happen.

In the next section, you’ll learn how to use the .format() method to combine a string and an integer in Python.

Concatenate a String and an Int in Python with format

The Python .format() method works similar to f-strings in that it uses curly braces to insert variables into strings. It’s available in versions as far back as Python 2.7, so if you’re working with older version this is an approach you can use.

Similar to Python f-strings, we don’t need to worry about first converting our integer into a string to concatenate it. We can simply pass in the value or the variable that’s holding the integer.

Let’s see what this looks like:

# Concatenating a String and an Int in Python with .format word = 'datagy' integer = 2022 new_word = '<><>'.format(word, integer) print(new_word) # Returns: datagy2022

We can see here that this approach returns the desired result. While this approach works just as well as the others, the string .format() method can be a little difficult to read. This is because the values placed into the placeholders are not immediately visible.

In the next section, you’ll learn how to concatenate a string an int in Python using the % operator.

Concatenate a String and an Int in Python with %

In this final section, you’ll learn how to use % operator to concatenate a string and an int in Python. The % operator represents an older style of string interpolation in Python. We place a %s into our strings as placeholders for different values, similar to including the curly braces in the example above.

Let’s see how we can combine a string and an integer in Python:

# Concatenating a String and an Int in Python with % word = 'datagy' integer = 2022 new_word = '%s%s' % (word, integer) print(new_word) # Returns: datagy2022

We can see that this returns the same, expected result. This approach, however, is the least readable of the four approaches covered here. It’s included here more for completeness, rather than as a suggested approach.

Conclusion

In this tutorial, you learned how to use Python to concatenate a string and an int. You learned why this is not as intuitive as in other languages, as well as four different ways to accomplish this. You learned how to use the + operator with the string() function, how to use Python f-strings, and how to use the .format() method and the % operator for string interpolation.

To learn more about the Python string() function, check out the official documentation here.

Check out some of these related tutorials:

Источник

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