例如,如果您运行以下代码:
text = "Hi"
if text == "Hello":
print("Hello")
elif text == "Hi":
emoji = '\U000274C'
print(emoji)
else:
print("")
你会得到
"缩进错误:意外缩进"
作为一个错误消息,但是如果你只运行emoji = '\U000274C'
你将得到正确的错误
"语法错误:(unicode错误)"unicodeescape"编解码器无法解码字节
在位置0 - 8:\UXXXXXXXX转义被截断"
知道为什么吗?这是一个bug还是一个特性,为什么?正确的信息非常有用,因为它清楚地表明你在unicode中忘记了一个零,而缩进错误是完全无用的。
我期待一个有用的错误消息,它不清楚我是否这个行为是正确的,如果它是一个错误。
1条答案
按热度按时间njthzxwz1#
你好像没有写对表情符号unicode。它通常是8位数。你只写了7位数,所以检查这部分。
我用一个流行的unicode例子稍微修改了一下'elif'部分。Unicode和CDLR-name都可以工作并返回😀。它甚至可以在Online-Python-Compiler上工作。另一次尝试'\U0000274C',它看起来与您的unicode最相似,返回。