相关疑难解决方法(0)

为什么Python不会在__doc__中自动转义'\'?

似乎某些转义字符在docstring中仍然很重要.例如,如果我们运行python foo.py(Python 2.7.10),它将发出错误,如ValueError: invalid \x escape.

def f():
    """
    do not deal with '\x0'
    """
    pass
Run Code Online (Sandbox Code Playgroud)

实际上,似乎正确的docsting应该是:

    """
    do not deal with '\\\\x0'
    """
Run Code Online (Sandbox Code Playgroud)

另外它也会影响import.

对于Python 3.4.3+,错误消息是:

  File "foo.py", line 4
    """
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 24-25: truncated \xXX escape
Run Code Online (Sandbox Code Playgroud)

我觉得有点奇怪,因为我认为它只会对__doc__模块本身产生影响并且没有任何副作用.

为什么设计如此?它是Python中的缺陷/错误吗?

注意

我知道"""和原始文字的含义,但我认为python解释器应该能够特别处理docstring,至少在理论上.

python docstring

10
推荐指数
1
解决办法
2037
查看次数

标签 统计

docstring ×1

python ×1