Python 中的“\N{SPECIAL CHARACTER}”从何而来?
Where does "\N{SPECIAL CHARACTER}" in Python come from?
我遇到了一些 urwid
tutorial,其中包括一个代码示例:
...
main = urwid.Padding(menu(u'Pythons', choices), left=2, right=2)
top = urwid.Overlay(main, urwid.SolidFill(u'\N{MEDIUM SHADE}'),
align='center', width=('relative', 60),
valign='middle', height=('relative', 60),
min_width=20, min_height=9)
urwid.MainLoop(top, palette=[('reversed', 'standout', '')]).run()
那个 u'\N{MEDIUM SHADE}'
字符串文字让我几乎一整天都抓狂,直到我发现它被包含在内——作为评论! — 在 /usr/lib/python3.5/encodings/
下的文件中...但是我在任何地方都找不到关于使用这种表示法的任何提示。我浏览了 Python 文档,但一无所获。
出于好奇,我 运行 在我的 python 解释器中:
print(u'\N{LOWER ONE QUARTER BLOCK}')
我得到了
▂
这种黑魔法从何而来?我的意思是,它在哪里解释了可以使用那个...符号(?)来使用它们的友好名称打印出特殊字符? Python 是否隐藏了其他像这样的惊喜?
接近 https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals 结束时:
\N{name} - Character named name in the Unicode database
我遇到了一些 urwid
tutorial,其中包括一个代码示例:
...
main = urwid.Padding(menu(u'Pythons', choices), left=2, right=2)
top = urwid.Overlay(main, urwid.SolidFill(u'\N{MEDIUM SHADE}'),
align='center', width=('relative', 60),
valign='middle', height=('relative', 60),
min_width=20, min_height=9)
urwid.MainLoop(top, palette=[('reversed', 'standout', '')]).run()
那个 u'\N{MEDIUM SHADE}'
字符串文字让我几乎一整天都抓狂,直到我发现它被包含在内——作为评论! — 在 /usr/lib/python3.5/encodings/
下的文件中...但是我在任何地方都找不到关于使用这种表示法的任何提示。我浏览了 Python 文档,但一无所获。
出于好奇,我 运行 在我的 python 解释器中:
print(u'\N{LOWER ONE QUARTER BLOCK}')
我得到了
▂
这种黑魔法从何而来?我的意思是,它在哪里解释了可以使用那个...符号(?)来使用它们的友好名称打印出特殊字符? Python 是否隐藏了其他像这样的惊喜?
接近 https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals 结束时:
\N{name} - Character named name in the Unicode database