obter objeto `.__ doc__` como corda crua
Pergunta
Existe uma maneira de obter object.__doc__
como uma cadeia cru, além de adicionar um 'r' na frente do próprio doctring no código fonte?
eu tenho dentro de código de látex e problemas etc estão criando 'do \ r' \ de f o.
Solução
Não há tal tipo Python como "corda crua" - há string raw literais , que são apenas um sintaxe abordagem (fora de muitos) para especificar constantes (isto é, os literais) que são de tipos de cordas. Assim, "recebendo" algo "como uma cadeia de matéria-" apenas não faz sentido. Você pode write docstrings como strings literais-primas (ou seja, com o r
prefixo - que é exatamente o que denota um literal de cadeia cru, a sintaxe específica que identifica como uma constante para o compilador Python), ou então duplo -se quaisquer barras invertidas em si (uma maneira alternativa para especificar strings constantes, incluindo caracteres de barra invertida), mas que não tem nada a ver com "ficando"-los de uma forma ou de outra.
Outras dicas
a diferença entre uma corda cru e o contrário é apenas uma questão de código fonte sintaxe literal. uma vez analisado, não há 'raw' objeto string. o resultado de repr(object.__doc__)
sempre será tal que você pode copiar e colar o resultado em um script fonte python e obter a string original.
considerar:
>>> def foo():
... 'foo\nbar'
... pass
...
>>> foo.__doc__
'foo\nbar'
>>> print foo.__doc__
foo
bar
>>>
Não, você tem que adicionar o r. Se você não adicionar o r, não há nenhuma maneira você pode ter certeza de voltar a string original não importa o que você faz.
Se você não gosta cordas matérias a outra alternativa é escapar suas barras invertidas nas strings com uma barra invertida extra.