8.4 Format-Strings

By | September 29, 2021

As we learned in the Python Variables chapter, we cannot combine strings and numbers like this:

Example

age = 36
txt = “My name is John, I am ” + age
print(txt)

Output:
Traceback (most recent call last):
  File “demo_string_format_error.py”, line 2, in <module>
    txt = “My name is John, I am ” + age
TypeError: must be str, not int

But we can combine strings and numbers by using the format() method!

The format() method takes the passed arguments, formats them, and places them in the string where the placeholders {} are:

Example

Use the format() method to insert numbers into strings:
age = 36
txt = “My name is John, and I am {}”
print(txt.format(age))

Output:
My name is John, and I am 36

The format() method takes unlimited number of arguments, and are placed into the respective placeholders:

Example

quantity = 3
itemno = 567
price = 49.95
myorder = “I want {} pieces of item {} for {} dollars.”
print(myorder.format(quantity, itemno, price))

Output:
I want 3 pieces of item 567 for 49.95 dollars.

You can use index numbers {0} to be sure the arguments are placed in the correct placeholders:

Example

quantity = 3
itemno = 567
price = 49.95
myorder = “I want to pay {2} dollars for {0} pieces of item {1}.”
print(myorder.format(quantity, itemno, price))

Output:
I want to pay 49.95 dollars for 3 pieces of item 567

Leave a Reply

Your email address will not be published. Required fields are marked *