Python 2.X在字符串周围添加单引号

时间:2014-04-09 04:01:22

标签: python python-2.7

目前要在字符串周围添加单引号,我提出的最佳解决方案是制作一个小包装函数。

def foo(s1):
    return "'" + s1 + "'"

有更简单的pythonic方法吗?

4 个答案:

答案 0 :(得分:14)

怎么样:

def foo(s1):
    return "'%s'" % s1

答案 1 :(得分:12)

这是另一个(也许是更加pythonic)的选项,使用format strings

def foo(s1):
    return "'{}'".format(s1)

答案 2 :(得分:10)

只是想强调@metatoaster在上面的评论中所说的内容,因为我最初错过了它。

使用repr(string)将添加单引号,然后在其外部加双引号,然后在带有转义内部单引号的单引号之外,然后转到其他转义。

使用repr()作为内置函数更直接,除非存在其他冲突..

s = 'strOrVar'
print s, repr(s), repr(repr(s)), ' ', repr(repr(repr(s))), repr(repr(repr(repr(s))))

# prints: strOrVar 'strOrVar' "'strOrVar'"   '"\'strOrVar\'"' '\'"\\\'strOrVar\\\'"\''

docs状态其基本状态repr(),即表示,与eval()相反:

  

"对于许多类型,此函数尝试返回一个字符串,该字符串在传递给eval(),...时会产生具有相同值的对象。"

反引用会更短,但在Python 3+中是removed。 有趣的是,StackOverflow使用反引号来指定代码跨度,而不是突出显示代码块并单击代码按钮 - 但它有一些有趣的行为。

答案 3 :(得分:2)

这适用于Python 3.5 +

def foo2(char):
    return("'{}'".format(char))