DEV Community

Cover image for Formatting strings in Python
Chris Bongers
Chris Bongers

Posted on • Originally published at daily-dev-tips.com

Formatting strings in Python

As you may know, I work mainly with JavaScript these days. After seeing JavaScript has these amazing template literals. I was wondering if something like that existed in Python.

And it does, in some way!

There is something called string formatting in Python.

String formatting in Python

How it works is that we use a placeholder {} (curly brackets) inside a string. We can then use the format() function to replace these curly brackets with a variable or other string.

A real-world example.

name = 'chris'
text = 'His name must be {} right?'
print(text.format(name))
Enter fullscreen mode Exit fullscreen mode

Which will return: "His name must be chris right?"

Already pretty cool and helpful!

Often you want to have multiple elements you want to replace, so let's see how that works.

firstname = 'Chris'
lastname = 'Bongers'
text = 'Firstname: {}, Lastname: {}'
print(text.format(firstname, lastname))
Enter fullscreen mode Exit fullscreen mode

Which will print: "Firstname: Chris, Lastname: Bongers"

As you can see, we can add multiple bracket placeholders!

Numbering string placeholders in Python

But let's say you want to re-use a placeholder. We can simply choose to number the placeholders with numbers.

name = 'Chris'
age = 32
text = 'His name is {0}, {0} is {1} years old'
print(text.format(name, age))
Enter fullscreen mode Exit fullscreen mode

This will result in: "His name is Chris, Chris is 32 years old".

We used the name variable twice under the first index (0).

Another way to do this is to name the variables if you are unsure about the order.

name = 'Chris'
age = 32
text = 'His name is {name}, {name} is {age} years old'
print(text.format(name=name, age=age))
Enter fullscreen mode Exit fullscreen mode

This will result in the same as above but might make more sense to use than the number method.

Thank you for reading, and let's connect!

Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on Facebook or Twitter

Top comments (2)

Collapse
 
dailydevtips1 profile image
Chris Bongers

Hi Lukas! Indeed these look super powerful, will write another article on f-strings

Collapse
 
iceorfiresite profile image
Ice or Fire

Please use f-strings. They're so much easier to deal with.