[英]How does Python's triple-quote string work?
应该如何更改此函数以返回"123456"
?
def f():
s = """123
456"""
return s
更新:大家,问题是关于了解多行注释时如何没有\\ t或其他内容,而不是如何使用re
模块。
当您不需要多余的空格,制表符和换行符时,请不要使用三引号引起来的字符串。
使用隐式延续,它更优雅:
def f():
s = ('123'
'456')
return s
def f():
s = """123\
456"""
return s
不要在第一行之后缩进任何blockquote行; 除最后一行外的所有行都以反斜杠结尾。
后续字符串是串联的,因此您可以使用:
def f():
s = ("123"
"456")
return s
这将允许您根据需要保持缩进。
textwrap.dedent("""\
123
456""")
来自标准库。 第一个“ \\”是必需的,因为此功能通过删除公共的前导空格来起作用。
也许我缺少明显的东西,但是呢:
def f():
s = """123456"""
return s
或者只是这样:
def f():
s = "123456"
return s
甚至更简单:
def f():
return "123456"
如果那不能回答您的问题,请说明问题的内容。
您可能要检查此str.splitlines([keepends])
返回字符串中的行列表,在行边界处中断。 此方法使用通用换行符方法来拆分行。 除非给出了keepends并且为true,否则换行符不包含在结果列表中。
Python将“ \\ r”,“ \\ n”和“ \\ r \\ n”识别为8位字符串的行边界。
因此,针对眼前的问题...我们可以这样做。
>>> s = """123
... 456"""
>>> s
'123\n456'
>>> ''.join(s.splitlines())
'123456'
re.sub('\D+', '', s)
将返回一个字符串,如果需要整数,请使用int
将此字符串转换。
尝试
import re
然后
return re.sub("\s+", "", s)
我的猜测是:
def f():
s = """123
456"""
return u'123456'
最小的变化和要求什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.