This post introduces several ways to print multiple arguments in python 3.
- Pass it as a tuple:
print("The cost for %s is %s" % (name, cost))
- Pass it as a dictionary:
print("The cost for %(n)s is %(c)s" % {'n': name, 'c': cost})
- Use the new-style string formatting:
print("the cost for {} is {}".format(name, cost))
- Use the new-style string formatting with numbers (useful for reordering or printing the same one multiple times):
print("The cost for {0} is {1}".format(name, cost))
- Use the new-style string formatting with explicit names:
print("The cost for {n} is {c}".format(n=name, c=cost))
- Pass the values as parameters and
print
will do it:
print("The cost for", name, "is", cost)
If you don’t want spaces to be inserted automatically by print
in the above example, change the sep
parameter:
print("The cost for ", name, " is ", cost, sep='')
- Use string concatenation
print("The cost for " + name + " is " + cost)
NOTE: If cost is an int, then, you should convert it to str:
print("The cost for " + name + " is " + str(cost))
- Note that
%s
mentioned above can be replace by%d
or%f
.
If cost
is a number, then
print("The cost for %s is %d" % (name, cost))
If cost is a string, then
print("The cost for %s is %s" % (name, cost))
If cost is a number, then it’s %d
, if it’s a string, then it’s %s
, if cost is a float, then it’s %f
- Use the new
f
-string formatting in Python 3.6:
print(f'The cost for {name} is {cost}')