py大神 发表于 2017-12-6 13:34:55

Python零基础入门。第十五讲:字符串:格式化

本帖最后由 py大神 于 2017-12-6 13:42 编辑

可以详细讲一下.format的工作原理么,他不是格式化方法么,视频中只是简单的提及了这个方法的格式化整理五个字,可以详细讲一下么,还有什么是replacement字段
>>> '{0} love {1}.{2}'.format('I','Fishc','com')
'I love Fishc.com'
>>> '{a} love {b}.{c}'.format('I','Fishc','com')
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
    '{a} love {b}.{c}'.format('I','Fishc','com')
KeyError: 'a'
>>>
视频中刚开始说'I','Fishc','com'是位置参数,{0},{1},{2}是replacement字段。为什么后来又说{a},{b},{c}是关键字?

BngThea 发表于 2017-12-6 13:53:52

位置参数是指大括号中用数值来确定位置的方式,比如
'{0} love {1}.{2}'.format('I','Fishc','com')

而关键字参数是值得大括号中用字符来确定位置的方式,这种方式下format后面的列表必须将关键字列出,比如
'{a} love {b}.{c}'.format(a='I',b='Fishc',c='com')

py大神 发表于 2017-12-6 14:09:08

BngThea 发表于 2017-12-6 13:53
位置参数是指大括号中用数值来确定位置的方式,比如
'{0} love {1}.{2}'.format('I','Fishc','com')



我还是不太懂
.format()是怎样一步一步把{0},{1},{2}替换成('I','Fishc','com')的?

BngThea 发表于 2017-12-6 14:17:36

py大神 发表于 2017-12-6 14:09
我还是不太懂
.format()是怎样一步一步把{0},{1},{2}替换成('I','Fishc','com')的?

就是一种对位替换功能啊
怎么实现的,就跟 'I love %s'%'FishC'
中的 %s 格式化输入输出一样

像番茄加两个蛋 发表于 2017-12-8 19:14:44

字符串format()方法的基本使用格式是:
<模板字符串>.format(<逗号分隔的参数>)


format()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信息。此时,槽的内部样式如下:{<参数序号>: <格式控制标记>}
页: [1]
查看完整版本: Python零基础入门。第十五讲:字符串:格式化