Frage

Gibt es eine Möglichkeit object.__doc__ als Ausgang String zu erhalten, außer dem Hinzufügen eines ‚r‘ in-Vorderseite der doctring selbst in dem Quellcode?

Ich habe Latex Code innen und '\ r' \ f die usw. schaffen Probleme.

War es hilfreich?

Lösung

Es gibt keine solche Python-Typ als "raw string" - gibt es raw String Literalen , das sind nur ein Syntax Ansatz (out von vielen) zu spezifizieren Konstanten (dh Literale), die von String-Typen sind. So „immer“ etwas „als Ausgang string“ macht einfach keinen Sinn. Sie können schreiben Docstrings als Ausgang Stringliterale (dh mit dem Präfix r - das ist genau das, was ein rohes Stringliteral bezeichnet, die spezifische Syntax, die solche die Python-Compiler eine Konstante identifiziert), oder auch Doppel bis alle Schrägstriche in ihnen (eine alternative Möglichkeit konstante Strings einschließlich Backslash Zeichen angeben), aber das hat nichts mit „immer“ sie eine oder andere Weise zu tun.

Andere Tipps

ist der Unterschied zwischen einem rohen String und ansonsten ist nur eine Frage der Quellcode Literalsyntax. einmal analysiert, gibt es keine ‚raw‘ String-Objekt. das Ergebnis repr(object.__doc__) wird immer so sein, dass Sie das Ergebnis in eine Python-Source-Skript kopieren und einfügen können und die ursprüngliche Zeichenfolge erhalten.

betrachten:

>>> def foo():
...     'foo\nbar'
...     pass
...
>>> foo.__doc__
'foo\nbar'
>>> print foo.__doc__
foo
bar
>>>

Nein, müssen Sie die r. Wenn Sie nicht die r hinzuzufügen, gibt es keine Möglichkeit, Sie können sicher sein, die ursprüngliche Zeichenfolge egal zurück zu bekommen, was Sie tun.

Wenn Sie nicht rohe Strings wie die andere Alternative ist die Schrägstriche in dem Strings mit einem zusätzlichen Backslash zu entkommen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top