Python中如何正确转义字符串内的引号?(如生成'Hi "there"')
在Python中生成包含引号的字符串(如'Hi "there"')的几种方法
嘿,这个问题我太熟了!在Python里要生成包含双引号的单引号字符串,其实有好几种简单又靠谱的方式,我给你挨个说:
直接用不同引号嵌套(最推荐)
Python允许单引号和双引号互相作为外层包裹符,只要内外层引号类型不同,内层的引号就不需要转义。比如你要的'Hi "there"',直接这么写就行:s = 'Hi "there"' print(s) # 输出: Hi "there" print(repr(s)) # 输出: 'Hi "there"'这种方式最简洁,可读性也最高,日常用得最多。
转义内层引号
如果你的场景必须用双引号作为外层包裹符,那只需要给内层的双引号加个反斜杠\转义就行:s = "Hi \"there\"" print(repr(s)) # 输出: 'Hi "there"'这里的反斜杠会告诉Python:后面的双引号是字符串内容的一部分,不是结束符。
用三引号包裹
不管是单三引号(''')还是双三引号("""),都可以直接在里面放单引号和双引号,完全不需要转义,适合多行字符串或者引号比较多的场景:s = '''Hi "there"''' # 或者 s = """Hi "there" """ print(repr(s)) # 输出: 'Hi "there"'
其实核心逻辑就是让Python区分“字符串的边界引号”和“字符串内容里的引号”,上面几种方法都能轻松实现你要的效果~
内容的提问来源于stack exchange,提问作者duhaime
相关产品推荐
相关产品推荐

