鱼C论坛

 找回密码
 立即注册
查看: 2905|回复: 5

萌新求助十五课内容

[复制链接]
发表于 2015-12-24 17:23:08 | 显示全部楼层 |阅读模式

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

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

x
求问下面三种形式怎么理解的呢?
小甲鱼老师讲完了还不是很懂

>>> '{{0}}'.format('asd')
'{0}'

>>> '{{{0}}}'.format('asd')
'{asd}'

>>> '{{{20}}}'.format('asd')
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    '{{{20}}}'.format('asd')
IndexError: tuple index out of range
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-24 17:42:15 | 显示全部楼层
具体哪里不懂
实际开发的时候一般是{}这样写,很少嵌套写
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-24 17:58:21 | 显示全部楼层
PS:刚看完这个,我也不懂,so,以下是我猜的
1. 如果字符串中没有给出相应的位置,那么formate('abc'),abc便不会显示出来
  1. In [2]: 'fishc'.format('def')
  2. Out[2]: 'fishc'
复制代码

2. 如果想在输出结果中显示花括号怎么把?使用两个花括号
  1. In [5]: '{{}}'.format('def')     
  2. Out[5]: '{}'
复制代码

3. 如果想显示花括号还要显示指定的字符串怎么办,先使用两个花括号,再使用{0}

  1. In [6]: '{{ {0}  }}'.format('def')
  2. Out[6]: '{ def  }'
复制代码

这个解析的过程 是从最外层开始解析的,花括号也就充当了转义的作用

4. '{{{20}}}'.format('asd') 为什么会报错?
因为你的format('asd')只有一个元素,也就是{0},IndexError: tuple index out of range 超了
like this:
  1. In [7]: '{{ {1}  }}'.format('def','class')
  2. Out[7]: '{ class  }'
复制代码

评分

参与人数 1荣誉 +3 鱼币 +5 收起 理由
~风介~ + 3 + 5

查看全部评分

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

使用道具 举报

发表于 2015-12-24 18:08:25 | 显示全部楼层
  1. '{0}'.format('asd')表示在{0}位置打印asd
  2. '{{0}}'.format('asd')表示直接输出{0}
  3. '{{{0}}}'.format('asd')则最外的两个{{...}}表示打印{},里面的{0}打印asd
  4. '{{{20}}}'.format('asd')出错是因为需要打印第21个参数,但你只给了一个。
复制代码

评分

参与人数 1荣誉 +3 鱼币 +5 收起 理由
~风介~ + 3 + 5

查看全部评分

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

使用道具 举报

 楼主| 发表于 2015-12-25 19:37:40 | 显示全部楼层
明白了,谢谢大家:victory:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-31 09:05:26 | 显示全部楼层
支持一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-18 21:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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