鱼C论坛

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

[已解决]第15课:为何花括号跟反斜杠一个道理?

[复制链接]
发表于 2021-1-6 14:30:03 | 显示全部楼层 |阅读模式

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

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

x
原始问题:
第15课中,关于打印{},小甲鱼在视频中给出了一个例子,即:
'{{0}}'.format('不打印')

结果为:
'{0}'

我的问题:
我没听懂小甲鱼解释内容。
视频里,小甲鱼说:这里‘不打印’的参数,实际上是没有被打印出来的,因为没有字段可以被输出的,因为这个 0  已经被解释掉了。像跟上面的反斜杠,一个道理。
(小甲鱼他到底在说什么?Python中,花括号跟反斜杠是一个道理?)

最佳答案
2021-1-6 16:52:49
Peteryo01223 发表于 2021-1-6 16:45
如果 '{{0}}'.format('不打印'),是非法转义,没有严格遵守规则,那么为何没有报错,却打印了前半部分呢 ...


       一般是因为程序存在严重的逻辑错误,无法继续执行才会结束并报错,比如,打开和读取一个并不存在的文件,被零除等等,格式描述符的问题显然并没有严重到这个程度。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-1-6 15:11:55 | 显示全部楼层
在字符串的format方法里面,花括号可以去掉在它里面的花括号的特殊功能,所以小甲鱼说它的功能和反斜杠一样。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-6 15:20:12 | 显示全部楼层
还要进一步请问:花括号可以去掉在它里面的花括号?就是说,Python认为,输入者输入了一个不具备任何意义的位置参数,因此不调用后面的“不打印”这个值,是么?那么就算是Python不调用后面,为何要打印出一个{0}来呢?在format前面,明明是一个定义位置的含义,怎么成为了被打印的内容?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-6 16:12:10 | 显示全部楼层
       小甲鱼说的花括号和反斜杠功能一样指的是花括号具有转义功能,从这个意义上说,与反斜杠是一样的,倒不是说花括号所起的作用与反斜杠一样。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-6 16:18:03 | 显示全部楼层
jackz007 发表于 2021-1-6 16:12
小甲鱼说的花括号和反斜杠功能一样指的是花括号具有转义功能,从这个意义上说,与反斜杠是一样的, ...


那么请问:'{{0}}'.format('不打印')这里,外面的{}起到了转移功能后,这一行code,到底怎么阅读呢?是表示外面的花括号转义后,直接打印了里面的内容,即:{0}?既然能够打印出{0},为何打印不出“不打印”这三个字呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-6 16:41:18 | 显示全部楼层
Peteryo01223 发表于 2021-1-6 16:18
那么请问:'{{0}}'.format('不打印')这里,外面的{}起到了转移功能后,这一行code,到底怎么阅读呢?是 ...


       道理很简单,因为 '{{0}}' 并非合法的转义,使用功能的前提是,必须严格遵守规则。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-6 16:45:24 | 显示全部楼层
jackz007 发表于 2021-1-6 16:41
道理很简单,因为 '{{0}}' 并非合法的转义,使用功能的前提是,必须严格遵守规则。

如果 '{{0}}'.format('不打印'),是非法转义,没有严格遵守规则,那么为何没有报错,却打印了前半部分呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-6 16:52:49 | 显示全部楼层    本楼为最佳答案   
Peteryo01223 发表于 2021-1-6 16:45
如果 '{{0}}'.format('不打印'),是非法转义,没有严格遵守规则,那么为何没有报错,却打印了前半部分呢 ...


       一般是因为程序存在严重的逻辑错误,无法继续执行才会结束并报错,比如,打开和读取一个并不存在的文件,被零除等等,格式描述符的问题显然并没有严重到这个程度。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-1-6 17:47:44 | 显示全部楼层
jackz007 发表于 2021-1-6 16:52
一般是因为程序存在严重的逻辑错误,无法继续执行才会结束并报错,比如,打开和读取一个并不存 ...

好的,谢谢啦,我理解了!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-11 10:00:21 | 显示全部楼层
Peteryo01223 发表于 2021-1-6 17:47
好的,谢谢啦,我理解了!

问题解决了吗LZ
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-11 10:02:43 | 显示全部楼层

解决了,我马上给Jackz一个最佳。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-11 10:21:54 | 显示全部楼层
Peteryo01223 发表于 2021-1-11 10:02
解决了,我马上给Jackz一个最佳。

谢谢了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-26 15:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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