相关疑难解决方法(0)

如何在Python中获取字符串的原始表示?

我正在创建一个严重依赖正则表达式的类.

让我们说我的课看起来像这样:

class Example:
    def __init__(self, regex):
        self.regex = regex

    def __repr__(self):
        return 'Example({})'.format(repr(self.regex.pattern))
Run Code Online (Sandbox Code Playgroud)

让我们说我像这样使用它:

import re

example = Example(re.compile(r'\d+'))
Run Code Online (Sandbox Code Playgroud)

如果我这样做repr(example),我会'Example('\\\\d+')',但我想要'Example(r'\\d+')'.考虑到打印时的额外反斜杠,它显示正确.我想我可以实现它返回"r'{}'".format(regex.pattern),但这并不适合我.万一Python软件基金会有一天会改变指定原始字符串文字的方式,我的代码就不会反映出来.不过,这是假设的.我主要担心的是这是否一直有效.不过,我无法想到一个优势的边缘情况.有更正式的方法吗?

编辑:格式规范迷你语言,printf样式字符串格式指南string模块似乎没有出现任何内容.

python rawstring python-3.x

12
推荐指数
1
解决办法
3140
查看次数

打印混乱

当我尝试打印"\ 20%"时,我是python的新手

>>>"\20%"
Run Code Online (Sandbox Code Playgroud)

为什么外壳打印'\ x10%'即显示

'\x10%'
Run Code Online (Sandbox Code Playgroud)

当这样做时,加入也会发生同样的情况

>>>l = ['test','case']
>>>"\20%".join(l)
Run Code Online (Sandbox Code Playgroud)

表明

'test\x10%case'
Run Code Online (Sandbox Code Playgroud)

我使用的是python 2.7.3

python python-2.7

5
推荐指数
1
解决办法
777
查看次数

标签 统计

python ×2

python-2.7 ×1

python-3.x ×1

rawstring ×1