python中变量的上标

时间:2018-09-18 05:59:04

标签: python variables unicode superscript

我想打印出一个变量作为上标。我做了很多研究,很多人使用Unicode方法。类似于print("word\u00b2"),其中2将是上标。但是,我想用一个变量替换2。这些是我尝试过的方法

print("word\u00b{variable}")
print("word\u00b{}".format(variable))
print("word\u00b%s" % variable)

当然还有反斜杠

print("word\u00b\{variable}")
print("word\u00b\{}".format(variable))
print("word\u00b\%s" % variable)

我也尝试过类似的方法

variable = variable.decode(u\"u00b")

以上这些都不起作用,

(unicode error) 'unicodeescape' codec can't decode bytes in position 5-9: truncated \uXXXX escape

一些帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

转义码\u00b2是单个字符;你想要类似的东西

>>> print(eval(r'"\u00b' + str(2) + '"'))
²

令人费解地减少

>>> print(chr(0x00b2))
²

这仅适用于上标2和3。 other Unicode superscripts are in a different code block

>>> for i in range(10):
...   if i == 1:
...     print(chr(0x00b9))
...   elif 2 <= i <= 3:
...     print(chr(0x00b0 + i))
...   else:
...     print(chr(0x2070 + i))
⁰
¹
²
³
⁴
⁵
⁶
⁷
⁸
⁹

答案 1 :(得分:1)

如果您希望整个变量都上标,则必须使用string = "snip active cleared snip..." # skip or remove because contains cleared string2 = "snip owasp..... php , devops" # save it because contains owasp 格式。如果您尝试%,它将仅在第一个字母或数字上标,因为它使用方括号将.format()内的数字分组。

我这样写我的代码:

$$

这样,您不必调用Unicode。我发现此方法适用于图形标题,轴标题,图形图例。

我希望这会有所帮助!