python - Python中的 "\N{SPECIAL CHARACTER}"从何而来?

标签 python special-characters string-literals

我遇到了一些 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

关于python - Python中的 "\N{SPECIAL CHARACTER}"从何而来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48525306/

相关文章:

字符串文字的 C++ 比较

c++ - Visual Studio 2008 : String Literals "??-", "??'“, "??="损坏

python - 如何设置keras LSTM的输入形状

python - 每个 python 程序都应该与 setup.py 一起分发吗?

python - 检查字符串中的最后一个匹配字符

css - 如何在 CSS 生成的内容中嵌入 Unicode Supplementary Private Use 字符?

可以修改 C 中的字符串文字吗?

python - 嵌入 WebView 的 Gtk3 窗口在取消最大化时松开最大化按钮

php - 将所有符号转换为 html 实体

Java 读取 XML - 在 '<' 特殊字符处停止