鱼C论坛

 找回密码
 立即注册
查看: 3733|回复: 11

[已解决]python中\n\是否多此一举

[复制链接]
发表于 2022-7-27 16:33:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
新手不解,即然'''或"""可解决跨行字符串,何苦每行最后输入\,我想这不符Simple is best,direct is efficiency啊?难道行最后输入\还有其它的作用吗?
最佳答案
2022-7-27 21:25:51
本帖最后由 jackz007 于 2022-7-27 21:28 编辑
vincentgao28 发表于 2022-7-27 21:07
为什么要写并不跨行的跨行语句?用三个引号如同office的所见即所得,效果(结果)是否正确\符合设计,不 ...


        作为一门编程语言,它只是给咱提供了一种手段而已,至于用不用、怎么用、什么时候用全在咱自己掌握,当然,你完全可以选择不用,一点也没有问题,不过,在解决打印图案类问题的时候,代码跨行可以收到“所见即所得”的直观效果,的确可以带来方便,难道不是吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-27 16:39:35 | 显示全部楼层
什么意思?\n是换行,那\n\是什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-7-27 16:53:49 | 显示全部楼层
本帖最后由 vincentgao28 于 2022-7-27 19:42 编辑

比如:
print('   \n
          a \n
        aaa\n')
会出错,(其实第一行回车就会报错)
但:
print('    \n\
         a  \n\
       aaa \n')
或:
print('''     
   a
aaa''')
则不会出错。在行最后加\可在()中跨行输入,而配套的三个单引号或双引号也有同样的作用,而且还不用输入\n。
我觉得用三个引号比每行最后加\要简单有效率的多,所以奇怪既然有孔明何必还要周瑜?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-27 17:09:35 | 显示全部楼层
vincentgao28 发表于 2022-7-27 16:53
比如:
print('   \n
          a \n

       你这只是特例,跨行的单个语句中,括号、引号均跨行成对出现,从逻辑的角度看,续行符似乎没有用处,但是,续行符是编译器的编辑操作符,只是会把续行符替换成文件下一行的内容,在引号、括号并不跨行的跨行语句中,其作用就显示出来了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-27 17:09:35 | 显示全部楼层
print('  \n\n   a\naaa\n')
与:
print('''     
   a
aaa''')
的输入结果不一样吗,为何非要多行书写
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-27 17:11:42 | 显示全部楼层
vincentgao28 发表于 2022-7-27 16:53
比如:
print('   \n
          a \n

完全可以把 每行最后一行的 \ 去掉合成一行,确属多此一举
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-27 19:36:31 | 显示全部楼层
https://www.bilibili.com/video/B ... f97e874b72886497a33
我为了简便将视频3分13秒例子中的星号更换为a,让你们误会了。如果要print像视频中星号飞机,您觉得合成一行加\n合适吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-27 19:42:51 | 显示全部楼层
青出于蓝 发表于 2022-7-27 17:11
完全可以把 每行最后一行的 \ 去掉合成一行,确属多此一举

为了简化https://www.bilibili.com/video/B ... f97e874b72886497a33视频中13分15秒的例子,我用a替代并省约了,让你误会了,不好意思。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-27 21:07:42 | 显示全部楼层
本帖最后由 vincentgao28 于 2022-7-27 21:23 编辑
jackz007 发表于 2022-7-27 17:09
你这只是特例,跨行的单个语句中,括号、引号均跨行成对出现,从逻辑的角度看,续行符似乎没有用 ...



并不跨行的跨行语句指的是:
1-字符串跨行,但写在一行代码中
2-一行字符串,但写在跨行的代码中

如果是1:为什么要费劲写并不跨行的跨行语句?用三个引号如同office的所见即所得,效果(结果)是否正确\符合设计,不是一眼就能看出来吗?
如果是2:更不明白这样做的道理,我是新手请见谅。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-27 21:25:51 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2022-7-27 21:28 编辑
vincentgao28 发表于 2022-7-27 21:07
为什么要写并不跨行的跨行语句?用三个引号如同office的所见即所得,效果(结果)是否正确\符合设计,不 ...


        作为一门编程语言,它只是给咱提供了一种手段而已,至于用不用、怎么用、什么时候用全在咱自己掌握,当然,你完全可以选择不用,一点也没有问题,不过,在解决打印图案类问题的时候,代码跨行可以收到“所见即所得”的直观效果,的确可以带来方便,难道不是吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-27 21:43:22 | 显示全部楼层
jackz007 发表于 2022-7-27 21:25
作为一门编程语言,它只是给咱提供了一种手段而已,至于用不用、怎么用、什么时候用全在咱自己 ...


谢谢,我猜想语言改进了,会有很多更好的语法或函数,但为了兼容,一些重复或落伍的依旧保存,否则旧的程序会报错,是不是这样呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-27 21:49:57 From FishC Mobile | 显示全部楼层
vincentgao28 发表于 2022-7-27 21:43
谢谢,我猜想语言改进了,会有很多更好的语法或函数,但为了兼容,一些重复或落伍的依旧保存,否则旧的 ...

        当然!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 21:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表