Как вставить переменную в строку python
Перейти к содержимому

Как вставить переменную в строку python

  • автор:

4 ways to add variables or values into Python strings

Sometimes, there’s a need to include a variable or non-string datatypes into a string literal.

1. The comma

The most common way is to separate strings and variables with a comma as shown below.

This does not give a lot of ability to customize the output and still have everything look good. We also need to take note that each comma separation is a `space` in the output string.

We can do better.

2. The % operator

This is an old school method but you’ll still see it quite frequently. In fact, I use it a lot too.

This gives us more flexibility but there are 2 major limitations.

1. You can’t include any datatype such as list, datetime etc

2. %s is for string, %d for int and %f for float. You must not mistake one for another.

With the example above, there’s no error because the datatypes were convertible.

Therefore, python automatically cast the necessary datatype unto the input.

However, there are some floats e.g `infinity` that can’t be converted to int.

When there are more than one arguments for the % operator, it has to be a tuple. And lastly, you can specify the length of a float as shown below (dot followed by the number of decimal places).

3. The string format method

Python string has a format method which let’s you insert any datatype. It is very similar to % operator (with `%s` or `%d` or `%f` replaced with `<>`), but better.

The format method is better because

1. You don’t have to be sure about the datatype.

2. You can insert any datatype.

3. You can repeatedly use a value by indexing.

The last index example also illustrates that the values in the format method can be expressed as a list of key=value pairs.

4. f strings

Another attractive option is the formatted string literal (f-string).

The main advantage is that it lets you readily know where a value is, and I just think it looks �� ��. But the downsides are

1. It requires python>=3.6. You have to be certain of that to avoid an error.

2. You can’t include a backslash in the expression part (inside `<>`).

3. Point 2 also means that you can’t include `”` without getting a SyntaxError.

Inserting values into strings¶

You can use the string method format method to create new strings with inserted values. This method works for all current releases of Python. Here we insert a string into another string:

The curly braces show where the inserted value should go.

You can insert more than one value. The values do not have to be strings, they can be numbers and other Python objects.

You can do more complex formatting of numbers and strings using formatting options within the curly brackets — see the documentation on curly brace string formatting.

This system allows us to give formatting instructions for things like numbers, by using a : inside the curly braces, followed by the formatting instructions. Here we ask to print in integer ( d ) where the number should be prepended with 0 to fill up the field width of 3 :

This prints a floating point value ( f ) with exactly 4 digits after the decimal point:

See the Python string formatting documentation for more details and examples.

Option 2 — f-strings in Python >= 3.6¶

If you can depend on having Python >= version 3.6, then you have another attractive option, which is to use the new formatted string literal (f-string) syntax to insert variable values. An f at the beginning of the string tells Python to allow any currently valid variable names as variable names within the string. For example, here is an example like the one above, using the f-string syntax:

Option 3 — old school % formatting¶

There is an older method of string formatting that uses the % operator. It is a bit less flexible than the other two options, but you will still see it in use in older code, and where using % formatting is more concise.

For % operator formating, you show where the inserted values should go using a % character followed by a format specifier, to say how the value should be inserted.

Here is the example above, using % formatting. Notice the %s marker to insert a string, and the %d marker to insert an integer.

Как вставить переменную в строку python

Переменные предназначены для хранения данных. Название переменной в Python должно начинаться с алфавитного символа или со знака подчеркивания и может содержать алфавитно-цифровые символы и знак подчеркивания. И кроме того, название переменной не должно совпадать с названием ключевых слов языка Python. Ключевых слов не так много, их легко запомнить:

Например, создадим переменную:

Здесь определена переменная name , которая хранит строку «Tom».

В пайтоне применяется два типа наименования переменных: camel case и underscore notation .

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

Underscore notation подразумевает, что подслова в наименовании переменной разделяются знаком подчеркивания. Например:

И также надо учитывать регистрозависимость, поэтому переменные name и Name будут представлять разные объекты.

Определив переменную, мы можем использовать в программе. Например, попытаться вывести ее содержимое на консоль с помощью встроенной функции print :

Например, определение и применение переменной в среде PyCharm:

Переменные в Python

Отличительной особенностью переменной является то, что мы можем менять ее значение в течение работы программы:

Типы данных

Переменная хранит данные одного из типов данных. В Python существует множество различных типов данных. В данном случае рассмотрим только самые базовые типы: bool , int , float , complex и str .

Логические значения

Тип bool представляет два логических значения: True (верно, истина) или False (неверно, ложь). Значение True служит для того, чтобы показать, что что-то истинно. Тогда как значение False , наоборот, показывает, что что-то ложно. Пример переменных данного типа:

Целые числа

Тип int представляет целое число, например, 1, 4, 8, 50. Пример

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

Для указания, что число представляет двоичную систему, перед числом ставится префикс 0b :

Для указания, что число представляет восьмеричную систему, перед числом ставится префикс 0o :

Для указания, что число представляет шестнадцатеричную систему, перед числом ставится префикс 0x :

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

Дробные числа

Тип float представляет число с плавающей точкой, например, 1.2 или 34.76. В качесте разделителя целой и дробной частей используется точка.

Число с плавающей точкой можно определять в экспоненциальной записи:

Число float может иметь только 18 значимых символов. Так, в данном случае используются только два символа — 3.9. И если число слишком велико или слишком мало, то мы можем записывать число в подобной нотации, используя экспоненту. Число после экспоненты указывает степень числа 10, на которое надо умножить основное число — 3.9.

Комплексные числа

Тип complex представляет комплексные числа в формате вещественная_часть+мнимая_часть j — после мнимой части указывается суффикс j

Строки

Тип str представляет строки. Строка представляет последовательность символов, заключенную в одинарные или двойные кавычки, например «hello» и ‘hello’. В Python 3.x строки представляют набор символов в кодировке Unicode

При этом если строка имеет много символов, ее можем разбить ее на части и разместить их на разных строках кода. В этом случае вся строка заключается в круглые скобки, а ее отдельные части — в кавычки:

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

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

Управляющие последовательности в строке

Строка может содержать ряд специальных символов — управляющих последовательностей. Некоторые из них:

\ : позволяет добавить внутрь строки слеш

\’ : позволяет добавить внутрь строки одинарную кавычку

\» : позволяет добавить внутрь строки двойную кавычку

\n : осуществляет переход на новую строку

\t : добавляет табуляцию (4 отступа)

Применим несколько последовательностей:

Консольный вывод программы:

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

Здесь переменная path содержит некоторый путь к файлу. Однако внутри строки встречаются символы «\n», которые будут интерпретированы как управляющая последовательность. Так, мы получим следующий консольный вывод:

Чтобы избежать подобной ситуации, перед строкой ставится символ r

Вставка значений в строку

Python позволяет встравивать в строку значения других переменных. Для этого внутри строки переменные размещаются в фигурных скобках <>, а перед всей строкой ставится символ f :

В данном случае на место будет вставляться значение переменной userName. Аналогично на вместо будет вставляться значение переменной userAge.

Динамическая типизация

Python является языком с динамической типизацией. А это значит, что переменная не привязана жестко с определенному типу.

Тип переменной определяется исходя из значения, которое ей присвоено. Так, при присвоении строки в двойных или одинарных кавычках переменная имеет тип str . При присвоении целого числа Python автоматически определяет тип переменной как int . Чтобы определить переменную как объект float, ей присваивается дробное число, в котором разделителем целой и дробной части является точка.

При этом в процессе работы программы мы можем изменить тип переменной, присвоив ей значение другого типа:

С помощью встроенной функции type() динамически можно узнать текущий тип переменной:

Как вставить переменную в строку в Python?

Чтобы вставить переменные в строку в Python, мы можем использовать форматированные строковые литералы.

Поместите символ f перед началом строкового литерала с одинарными или двойными кавычками, как показано ниже.

Теперь мы можем ссылаться на переменные внутри этой строки. Все, что нам нужно сделать, это заключить переменные в фигурные скобки <переменная>и поместить ее внутри строкового значения, где это необходимо. Пример приведен ниже.

В приведенной выше программе у нас есть переменная с именем var1, и мы вставили эту переменную в строку, используя форматированные строки.

Пример 1

В этом примере мы возьмем целые числа в переменных и попытаемся вставить несколько переменных внутри строки, используя форматированную строку.

Пример 2

В этом примере мы возьмем строковые литералы в переменных и попытаемся добавить их внутри строки, используя форматированную строку.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *