下面的代码打印出以下这个表情: :
然而,如果我像下面这样使用
print('\U0001F602')
print('{}'.format('\U0001F602'))
然而,如果我像下面这样使用
\
,它会打印\U0001F602
。print('\{}'.format('U0001F602'))
为什么print('\{}'.format())
会返回\\
而不是转义字符\
?
我在这里查看过并且也在谷歌上搜索过,但未找到合适的答案。
'\U0001F602'
在编译时被计算,以\U
开头的字符串字面量对于编译器具有特殊意义。'\{}'.format('U0001F602')
在运行时被计算(而且应该使用转义反斜杠写成 `'\{}'.format('U0001F602')')。 - Matthias\{
不是有效的转义序列,Python 通过将反斜杠视为字面量来处理它。现在链接到的重复内容是我能找到的最好的这个问题的参考资料 - 在较新版本的 Python 中,您会收到此代码的警告信息。 - Karl Knechtel