0

object.__doc__除了在源代码中的文档本身前面添加一个“r”之外,有没有办法获取原始字符串?

我里面有乳胶代码,'\r's、'\f's 等正在产生问题。

4

3 回答 3

7

没有像“原始字符串”这样的 Python 类型——有原始字符串文字,它们只是一种语法方法(在众多方法中),用于指定字符串类型的常量(即文字)。所以“得到”一些“作为原始字符串”的东西是没有意义的。您可以将文档字符串编写为原始字符串文字(即,带有前缀r- 这正是表示原始字符串文字的含义,即向 Python 编译器标识此类常量的特定语法),或者将其中的任何反斜杠加倍(另一种选择指定常量字符串(包括反斜杠字符)的方法),但这与以一种或另一种方式“获取”它们无关。

于 2009-11-29T23:01:33.603 回答
2

不,您必须添加 r。如果您不添加 r,那么无论您做什么,都无法确保取回原始字符串。

如果您不喜欢原始字符串,另一种选择是使用额外的反斜杠来转义字符串中的反斜杠。

于 2009-11-29T22:58:07.947 回答
2

原始字符串和其他字符串之间的区别只是源代码文字语法的问题。一旦解析,就没有“原始”字符串对象。结果repr(object.__doc__)总是这样,您可以将结果复制并粘贴到 python 源脚本中并获取原始字符串。

考虑:

>>> def foo():
...     'foo\nbar'
...     pass
...
>>> foo.__doc__
'foo\nbar'
>>> print foo.__doc__
foo
bar
>>>
于 2009-11-29T23:00:31.497 回答