---
title: Python f-strings
---
# f-strings in Python
In Python version 3.6, a new method of formatting strings was implemented. The new method is called Literal string interpolation (though commonly referred to as an f-string, due to f prefix at the beginning of the string).

The use of f-string allows the programmer to dynamically insert a variable into a string in a clean and concise manner. In addition to inserting variables into a string this feature also provides the ability for a programmer to evaluate expressions, join the contents of collection, and even invoke functions within the f-string.

To perform these dynamic behaviours within an f-string we wrap them inside curly brackets within the string, and prepend a lower case f to the beginning of the string (before the opening quote).

## Examples
### Dynamically inserting a variable into a string at runtime:

#### Input

```python
name = 'Jon Snow'
greeting = f'Hello! {name}.'
print(greeting)
```

#### Output

```
Hello! Jon Snow.
```

### Multiple variables, of different types, can be inserted in the same string:

### Input

```python
item_id = 'P12305'
price = 425.50
print(f'Item {item_id} costs {price} USD.')
```

#### Output

```
Item P12305 costs 425.50 USD.
```

### Evaluate an expression in a string:

#### Input

```python
val1 = 2
val2 = 3
expr = f'The sum of {val1} + {val2} is {val1 + val2}'
print(expr)
```

#### Output
```
The sum of 2 + 3 is 5
```

### Calling a function and inserting output within a string:

#### Input
```python
def sum(*args):
    result = 0
    for arg in args:
        result += arg
    return result

func = f'The sum of 3 + 5 is {sum(3, 5)}'
print(func)
```

#### Output
```
The sum of 3 + 5 is 8
```
### Joining the contents of a collection within a string:

#### Input

```python
fruits = ['Apple', 'Banana', 'Pear']

list_str = f'List of fruits: {", ".join(fruits)}'
print(list_str)
```

#### Output
```
List of fruits: Apple, Banana, Pear
```
### Convert an integer to 8-bit binary

### Input

```python
num = 42

print(f'The binary of {num} is {num:08b}')
```

### Output
```
The binary of 42 is 00101010
```

### Sources
https://www.python.org/dev/peps/pep-0498/