2024-09-30 07:18:53 发布
网友
下面的代码打印表情符号,如下所示😂 :
print('\U0001F602') print('{}'.format('\U0001F602'))
但是,如果我像下面那样使用\,它将打印\U0001F602
\
\U0001F602
print('\{}'.format('U0001F602'))
为什么print('\{}'.format())retunrs\\不是一个转义字符,即\
print('\{}'.format())
\\
我一直在检查this并在谷歌上搜索,但找不到正确的答案
参考String and Bytes literals,当python在编译程序时在字符串文本中看到反斜杠时,它会查看下一个字符,以查看如何转义以下字符。在第一种情况下,下面的字符是U,因此python知道它是unicode转义。在最后一种情况下,它看到{,意识到没有转义,只发出反斜杠和{字符
U
{
在print('\{}'.format('U0001F602'))中有两个不同的字符串文本'\{}'和'U0001F602'。第一个字符串将在运行时使用.format进行解析,这根本不会使结果成为字符串文字-它是一个复合值
'\{}'
'U0001F602'
.format
>>> print('\{}'.format('U0001F602')) \U0001F602
这是因为您将{}作为.format函数的参数,它只填充大括号内的值
它正在打印一张单张而不是两张
参考String and Bytes literals,当python在编译程序时在字符串文本中看到反斜杠时,它会查看下一个字符,以查看如何转义以下字符。在第一种情况下,下面的字符是
U
,因此python知道它是unicode转义。在最后一种情况下,它看到{
,意识到没有转义,只发出反斜杠和{
字符在
print('\{}'.format('U0001F602'))
中有两个不同的字符串文本'\{}'
和'U0001F602'
。第一个字符串将在运行时使用.format
进行解析,这根本不会使结果成为字符串文字-它是一个复合值这是因为您将{}作为.format函数的参数,它只填充大括号内的值
它正在打印一张单张而不是两张
相关问题 更多 >
编程相关推荐