Python 3: Formatting String

By Xah Lee. Date: . Last updated: .

Convert data into string format.

# python 3

ss = [3, 4, 3.123456789012345678901234567890, (7, 8, "9")]
print (str(ss))    # [3, 4, 3.1234567890123457, (7, 8, '9')]
print (repr(ss))   # [3, 4, 3.1234567890123457, (7, 8, '9')]

In practice, they usually return the same thing.

Using C Style prinf

# python 3

# integer
print("%d" % (1234))   # 「1234」

# padding by space
print("%4d" % (12))    # 「  12」

# float. 2 integer, 4 decimal
print("%2.4f" % (3.123456789))   # 「3.1235」

# string.
print("%5s" % ("cats"))     # 「 cats」
print("%2s" % ("cats"))     # 「cats」

print("%2d◇%6d◇%2.4f◇%s" % (1234, 5678, 3.123456789, 'cats!')) # 「1234◇  5678◇3.1235◇cats!」

Using ‹string›.format(…)

A more flexible way to format string is to use string.format(…).

Inside your string, use {} as placeholder. Inside {…} is specification for the format.

# python 3

print("{}".format("cat")) # cat

print("I have {} cats and {} dogs.".format(3,4)) # I have 3 cats and 4 dogs.

Use {{}} to include literal {}

# python 3

# use {{}} to include literal {}
print("brace {{}}, a is {}".format(3)) # brace {}, a is 3

Format Codes

# python 3

# “:s” is for string
print("{:s}".format("cat"))    # cat

# decimal int
print("{:d}".format(3))    # 3

# binary
print("{:b}".format(3))    # 11

# hex
print("{:x}".format(10))    # a

# formatting multiple args
print("{:d}, {:s}, {:s}".format(3, "cat", [7, 8]))

You can refer to the argument and change print order.

# python 3

print("{0:d}, {1:s}, {2:s}".format(3, "cat", [7, 8])) # 3, cat, [7, 8]

print("{1:s}, {0:d}, {2:s}".format(3, "cat", [7, 8])) # cat, 3, [7, 8]

Format number in human readable format:

# python 3

print("{:,}".format(78515573)) # 78,515,573

If you have a question, put $5 at patreon and message me.

Python 3

Lang Detail

  1. Print Version String
  2. Quoting String
  3. String Operations
  4. Format String
  5. Operators
  6. Object, ID, Type

Misc

  1. Traverse Directory
  2. Sort List, Matrix, Object
  3. Python 3: Map with Side Effect Doesn't Work If Result is Not Used
  4. Python 3 Closure
  5. Python 2 and 3 Difference