DEV Community

Super Kai (Kazuya Ito)
Super Kai (Kazuya Ito)

Posted on

format_map in Python (3)

Buy Me a Coffee

*Memo:

:[f][a][s][z][#][0][w][g][.p][t] can format a string with format_map() as shown below:

<Right-align a string with '>'>:

*Memo:

v = {'k':"John Smith"}

print('"{k:>20}"'.format_map(v))
print('"{k: >20}"'.format_map(v))
# "          John Smith"
#  ↑↑↑↑↑↑↑↑↑↑

print('"{k:?>20}"'.format_map(v))
# "??????????John Smith"

print('"{k:?>17}"'.format_map(v))
# "???????John Smith"

print('"{k:?>14}"'.format_map(v))
# "????John Smith"

print('"{k:?>13}"'.format_map(v))
# "???John Smith"

print('"{k:?>12}"'.format_map(v))
# "??John Smith"

print('"{k:?>11}"'.format_map(v))
# "?John Smith"

print('"{k:?>10}"'.format_map(v))
print('"{k:?>0}"'.format_map(v))
print('"{k:?>}"'.format_map(v))
print('"{k:>}"'.format_map(v))
print('"{k:}"'.format_map(v))
print('"{k}"'.format_map(v))
# "John Smith"
Enter fullscreen mode Exit fullscreen mode
v = {'k':"   John Smith   "}
        # ↑↑↑          ↑↑↑

print('"{k:?>0}"'.format_map(v))
# "   John Smith   "
#  ↑↑↑          ↑↑↑

print('"{k:?>20}"'.format_map(v))
# "????   John Smith   "
#      ↑↑↑          ↑↑↑
Enter fullscreen mode Exit fullscreen mode

<Right-align a string with '='>:

*Memo:

v = {'k':1234}

print('"{k:=10}"'.format_map(v))
print('"{k: =10}"'.format_map(v))
print('"{k:= 10}"'.format_map(v))
print('"{k: = 10}"'.format_map(v))
print('"{k:=-10}"'.format_map(v))
# "      1234"
#  ↑↑↑↑↑↑

print('"{k:=+10}"'.format_map(v))
print('"{k:=+10}"'.format_map(v))
# "+     1234"
#   ↑↑↑↑↑

print('"{k:=+010}"'.format_map(v))
print('"{k:0=+10}"'.format_map(v))
# "+000001234"

print('"{k:=+08}"'.format_map(v))
print('"{k:0=+8}"'.format_map(v))
# "+0001234"

print('"{k:=+06}"'.format_map(v))
print('"{k:0=+6}"'.format_map(v))
# "+01234"

print('"{k:=+05}"'.format_map(v))
print('"{k:0=+5}"'.format_map(v))
print('"{k:=+00}"'.format_map(v))
print('"{k:0=+0}"'.format_map(v))
print('"{k:=+0}"'.format_map(v))
print('"{k:0=+}"'.format_map(v))
print('"{k:=+}"'.format_map(v))
# "+1234"

print('"{k:=0}"'.format_map(v))
print('"{k:0=}"'.format_map(v))
print('"{k:=}"'.format_map(v))
print('"{k:}"'.format_map(v))
print('"{k}"'.format_map(v))
# "1234"
Enter fullscreen mode Exit fullscreen mode
v = {'k':-1234}

print('"{k: =10}"'.format_map(v))
print('"{k:= 10}"'.format_map(v))
print('"{k: = 10}"'.format_map(v))
print('"{k:=+10}"'.format_map(v))
print('"{k:=-10}"'.format_map(v))
# "-     1234"

print('"{k:=-010}"'.format_map(v))
print('"{k:0=-10}"'.format_map(v))
# "-000001234"

print('"{k:=-08}"'.format_map(v))
print('"{k:0=-8}"'.format_map(v))
# "-0001234"

print('"{k:=-06}"'.format_map(v))
print('"{k:0=-6}"'.format_map(v))
# "-01234"

print('"{k:=-05}"'.format_map(v))
print('"{k:0=-5}"'.format_map(v))
print('"{k:=-00}"'.format_map(v))
print('"{k:0=-0}"'.format_map(v))
print('"{k:=-}"'.format_map(v))
print('"{k:0=-}"'.format_map(v))
print('"{k:=}"'.format_map(v))
print('"{k:0=}"'.format_map(v))
print('"{k:}"'.format_map(v))
print('"{k}"'.format_map(v))
# "-1234"
Enter fullscreen mode Exit fullscreen mode

<Make a negative zero a positive zero>:

print(-0.0)                           # -0.0
print('{k:z}'.format_map({'k':-0.0})) # 0.0

print(-0.0-0.0j)                           # (-0+0j)
print('{k:z}'.format_map({'k':-0.0-0.0j})) # (0+0j)

print(0.0)
print('{k:z}'.format_map({'k':0.0}))
# 0.0

print(-0.0+0.0j)
print('{k:z}'.format_map({'k':-0.0+0.0j}))
print(0.0-0.0j)
print('{k:z}'.format_map({'k':0.0-0.0j}))
# 0j
Enter fullscreen mode Exit fullscreen mode

Top comments (0)