How to print Superscript and Subscript in Python?
Whenever we work with formulas, there may be a need to present them in a specific format, which may require subscripts or superscripts. In this article, we will explore how to print superscripts and subscripts in Python.
Using Unicode Character
Unicode characters allow us to easily display superscript and subscript numbers in Python. By using specific Unicode symbols, we can directly include these characters in our strings without needing additional libraries.
print("a\u00b2") # a² (super)
print("H\u2082CO\u2083") # H₂CO₃ (sub)
Output
a² H₂CO₃
Explanation:
- Unicode \u00b2 inserts the superscript 2 (2) next to the letter "a", resulting in "a2".
- Unicode \u2082 and \u2083 insert subscript 2(2) and subscript 3 (3) next to "H" and "CO", resulting in "H2C03".
This following table gives the subscripts and superscripts of the Unicode characters:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
U+207x | ⁰ | ⁱ | ⁴ | ⁵ | ⁶ | ⁷ | ⁸ | ⁹ | ⁺ | ⁻ | ⁼ | ⁽ | ⁾ | ⁿ | ||
U+208x | ₀ | ₁ | ₂ | ₃ | ₄ | ₅ | ₆ | ₇ | ₈ | ₉ | ₊ | ₋ | ₌ | ₍ | ₎ | |
U+209x | ₐ | ₑ | ₒ | ₓ | ₔ | ₕ | ₖ | ₗ | ₘ | ₙ | ₚ | ₛ | ₜ |
Using str.format()
str.format() allows us to dynamically insert superscript and subscript characters into strings. By using Unicode, we can easily format expressions like formulas with special characters such as superscripts and subscripts.
b = "x"
p = "\u00b2" # superscript 2
print("{}{}".format(b, p))
e = "H"
s = "\u2082" # subscript 2
print("{}{}".format(e, s))
Output
x² H₂
Explanation:
- .format() inserts the values of b ("x") and p (superscript 2, \u00b2) into the string, resulting in "x2", where the "2" is a superscript next to "x".
- .format() inserts the values of e ("H") and s (subscript 2, \u2082) into the string, resulting in "H2", where the "2" is a subscript next to "H".
Using f-strings
F-strings make it easy to insert superscripts and subscripts into strings. They provide a clear and efficient way to combine text and special characters.
b = "x" # base
p = "\u00b2" # super
print(f"{b}{p}")
e = "H" # elem
s = "\u2082" # sub
print(f"{e}{s}")
Output
x² H₂
Explanation:
- f"{b}{p}" inserts the values of b ("x") and p (superscript 2, \u00b2), resulting in the output "x2", where "2" is a superscript next to "x".
- f"{e}{s}" inserts the values of e ("H") and s (subscript 2, \u2082), resulting in the output "H2", where "2" is a subscript next to "H".
Related Articles: