793578477 发表于 2020-6-26 19:06:52

课后动动手:长字符串转移符\n引号位置的问题

在课后作业中,小甲鱼老哥发布的代码这样的:
>>> string = (
"我爱鱼C,\n"
"正如我爱小甲鱼,\n"
"他那呱唧呱唧的声音,\n"
"总缠绕于我的脑海,\n"
"久久不肯散去……\n")


这里对引号位置不明白,为什么不可以先加引号再加\n呢?
(运行后报错:SyntaxError: unexpected character after line continuation character)

string = ("我爱鱼C,"\n"正如我爱小甲鱼,"\n"他那呱唧呱唧的声音,"\n"总缠绕于我的脑海,"\n"久久不肯散去……"\n)


感谢各位鱼油大哥,拜托了

Twilight6 发表于 2020-6-26 19:09:08

本帖最后由 Twilight6 于 2020-6-26 19:12 编辑



\n 写在字符串里面是转义字符,起到换行作用,写在字符串外面没意义

这里字符串续行作用是 双引号,而 \n 只是起到把字符串里面的内容换行

你可以试着运行这个代码:
string = (
"我爱鱼C,"
"正如我爱小甲鱼,"
"他那呱唧呱唧的声音,"
"总缠绕于我的脑海,"
"久久不肯散去……")
print(string)

运行结果:

我爱鱼C,正如我爱小甲鱼,他那呱唧呱唧的声音,总缠绕于我的脑海,久久不肯散去……

会发现只打印一行,这边的\n 就是在打印过程中起到了换行作用

而你字符串里加上 \n 的结果就是:

我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧的声音,
总缠绕于我的脑海,
久久不肯散去……

永恒的蓝色梦想 发表于 2020-6-26 19:11:30

Twilight6 发表于 2020-6-26 19:09
\n 写再字符串里面是转义字符,起到换行作用,写再字符串外面没意义

这里字符串续行作用是 双引号 ...

错字写再字符串外面没意义

Twilight6 发表于 2020-6-26 19:12:32

永恒的蓝色梦想 发表于 2020-6-26 19:11
错字

哈哈哈哈我输入法有毒

793578477 发表于 2020-6-26 19:13:12

Twilight6 发表于 2020-6-26 19:09
\n 写在字符串里面是转义字符,起到换行作用,写在字符串外面没意义

这里字符串续行作用是 双引号 ...

感谢鱼油大哥

冬雪雪冬 发表于 2020-6-26 19:14:29

小甲鱼的例子是用到了字符串拼接。
“ABC”“abc" 等同于 "ABC" + "abc" 等同于 ”ABCabc"
如果放到引号外面的 \n 就不是字符串了,当然会报错

小甲鱼的铁粉 发表于 2020-6-26 19:17:15

{:10_297:}

793578477 发表于 2020-6-26 19:18:27

冬雪雪冬 发表于 2020-6-26 19:14
小甲鱼的例子是用到了字符串拼接。
“ABC”“abc" 等同于 "ABC" + "abc" 等同于 ”ABCabc"
如果放到引号 ...

谢谢鱼油大哥
页: [1]
查看完整版本: 课后动动手:长字符串转移符\n引号位置的问题