假设我有一个引号,其中包含一个带“\n”的双引号,
如果在父引号上执行拆分行,则子引号也将被拆分
double_quote_in_simple_quote = 'v\n"x\ny"\nz'
print(double_quote_in_simple_quote.splitlines())
结果输出
['v', '"x', 'y"', 'z']
我本以为会发生以下情况:
['v', '"x\ny"', 'z']
因为“\n”在子引号的范围内
我希望得到一个解释,为什么它的行为是这样的,如果你有任何替代的'分割线'在主要报价水平只
多谢各位
Tags:
我提出了一个讨厌的代码,当您试图找到另一种方法来拆分引号时,它可以让您四处走动,而不具有使Python的行为保持不变的特性
其思想是用没有意义但尚未使用的内容替换\n,然后将其反转。我用了你的例子,但我相信你会调整它以满足你的需要。我的产出是:
这是由于Python中转义序列的性质造成的
\n
在python中表示新行字符。每当python捕获该序列时,它都将其视为换行符,并考虑跳过一行splitlines()
方法将字符串拆分为一个列表,并在换行时进行拆分。这就是为什么会得到一个没有新行字符的列表但是,您可以通过指定默认不考虑逃逸线的参数来逃脱它:
如果在Python中双引号引用字符串,这并不意味着存在嵌套字符串本身。不管最外面的引号是什么,Python都将根据它来开始和结束string对象。任何内部类似引号的字符都被视为ascii字符
请注意,在第二行中,引号也是如何打印的,因为那些实际的引号字符是字符串的一部分。没有筑巢发生
相关问题 更多 >
编程相关推荐