Using format() in Python with placeholder values

Using format() in Python with placeholder values

In Python, you can use {} as placeholders for strings and use format() to fill in the placeholder with string literals. For example:

print("You have {} apples.".format(5))

# this will print:
# You have 5 apples.

The format() method lets you list out the strings you want to place in relation to the {} as it appears. This means that you can have more than one {} as placeholders.

Here is a Python example of multiple {} used with format().

print("You have {} apple{}.".format(5, 's'))

# this will print:
# You have 5 apples.

You can also add variables to format() in Python, in place of literals. Here is an example:

language = "Python"

print("I'm coding in {}").format(language)

# this will print:
# I'm coding in Python

What you passed in can also include conditional logic. For example:

apples = 5
plural = "s" if apples != 1 else ""

print("You have {} apple{}.".format(apples, plural))

# this will print:
# You have 5 apples.

It is good to note that you can use Python's format() with any strings. For example:

speak = "You have {} apple{}.".format(5, 's')

print(speak)

# this will print:
# You have 5 apples.

Other notes on format() in Python

format() will automatically interpret value by type. For example, a float will be reduced to a single trailing zero.

x = "num = {}".format(1.00000000000)

print(x)

# this will print
# num = 1.0

x = "num = {}".format(1.000000000005)

print(x)

# this will print
# num = 1.000000000005

When it comes to format() and float, you can force a value to be interpreted as a float by using {:f} instead of your regular {} . By default, a floating number will show 6 trailing zeros. Here is an example:

x = "num = {:f}".format(1)

print(x)

# this will print
# num = 1.000000

You can also specify the number of trailing digits after the decimal point by adding the number with a decimal point before f. For example, to have 2 digits after the decimal point, you will write your {} placeholder as {:.2f}

Here is an example of how to use it:

money = "you have ${:.2f} in your account".format(100)

print(money)

# this will print
# you have $100.00 in your account

Using % instead of {} as placeholders in Python

Oftentimes, we see % used as placeholders in Python code. This can be used as a placeholder instead of {}. Another % is used as a separator, followed by the values to be placed in the placeholder.

The difference between using {} and % is that you can specify the type, enforcing a certain expectation that whatever gets placed in the string literal is either a number or a string. For example, the placeholder %i expects an integer, and %s will expect a string literal.

Here is an example of using % as placeholders in Python:

print("values: %i, strings: %s"%(2+2, "2+2"))

# this will print:
# values: 4, strings: 2+2

print("values: %i, strings: %i"%(2+2, "2+2"))

# this will print:
# TypeError: %i format: a number is required, not str
💡
Need a writer? Want to work with me? I have a subscription copywriting service available at Zipply.io. Subscribe to a set number of words and split it into as many copy assets as you need. Scale your startup, small business, or MVP. Upgrade, downgrade and pause at any time. Start your subscription here.