我是python的新手,遇到了以下问题。我试图从函数中获取两行使用return的文本,但仍然得到" \ n"作为文本(在IDLE 3.5中)。当我改变"返回"到"打印",但我需要"返回"。
def myfunc(a):
text1=["|"]
i=int(a)
mystr="abc|"*i+"\n"
text1.append(mystr)
text1=''.join(text1)
b="0"
text2=[b]
for b in range(i):
b+=1
text2.append("{0:5d}".format(b))
text1="".join((text1,"".join(text2)))
return(text1)
结果:
>>> myfunc(4)
'|abc|abc|abc|abc|\n0 1 2 3 4'
但
(...)
print(text1)
>>> myfunc(4)
abc|abc|abc|abc|
0 1 2 3 4
答案 0 :(得分:2)
当输入在交互式解释器中返回字符串的表达式时,将显示该字符串的表示。这与打印字符串不同,后者会将字符串本身的字符直接写入终端。
该表示通常会尝试以Python将接受的格式显示字符串作为字符串文字,即它用引号括起来,并且特殊字符被转义,就像您在\n
中看到的那样。