Python字符串格式化表达
2016-11-07 22:20
253 查看
字符串格式化允许在一个单一的步骤中对一个字符串执行多个特定类型的替换。
格式化字符串:
1. 在%操作符的左侧放置一个需要进行格式化的字符串,这个字符串带有一个或多个嵌入的转换目标,都是以%开头(例如,%d).
2. 在%操作符右侧放置一个(或多个,嵌入到元组中)对象,这些对象将会插入到左侧想让Python进行格式化字符串的一个(或多个)转换目标的位置上去。
注意,当不止一个值待插入的时候,应该在右侧用括号把它们括起来(也就是说,把它们放到元组中去)。%格式化表达式操作符在其右边期待一个单独的项或者一个或多个项的元组。
格式化总是会返回新的字符串作为结果而不是对左侧的字符串进行修改。由于字符串是不可变的,所以只能这样操作。
%[(name)][flags][width][.precision]typecode
基于字典的字符串格式化
字符串的格式化同时也允许左边的转换目标来引用右边字典中的键来提取对应的值。
字符串格式化方法调用
在主体字符串中,花括号通过位置(例如{1})或关键字(例如,{food})指出替换目标及将要插入的参数。
#!/user/bin/env python
# coding=utf-8
template='{0},{1} and {2}'
print template.format('spam','ham','eggs')
template='{motto},{pork} and {food}'
print template.format(motto='spam', pork='ham', food='eggs')
template='{motto},{0},and {food}'
print template.format('ham',motto='spam',food='eggs')
添加键、属性和偏移量
方括号指定字典键,而点表示位置或关键字所引用的一项的对象属性。
#!/user/bin/env python
# coding=utf-8
import sys
print 'My {1[spam]} runs {0.platform}'.format(sys, {'spam': 'laptop'})
print 'My {config[spam]} runs {sys.platform}'.format(sys=sys,config={'spam': 'laptop'})
格式化字符串:
1. 在%操作符的左侧放置一个需要进行格式化的字符串,这个字符串带有一个或多个嵌入的转换目标,都是以%开头(例如,%d).
2. 在%操作符右侧放置一个(或多个,嵌入到元组中)对象,这些对象将会插入到左侧想让Python进行格式化字符串的一个(或多个)转换目标的位置上去。
#!/user/bin/env python # coding=utf-8 print 'That is %d %s bird!' % (1,'dead') exclamation="Ni" print "THe knights who say %s!" % exclamation print "%d %s %d you" % (1,'spam',4) print "%s--%s--%s" % (42, 3.14159, [1,2,3])
注意,当不止一个值待插入的时候,应该在右侧用括号把它们括起来(也就是说,把它们放到元组中去)。%格式化表达式操作符在其右边期待一个单独的项或者一个或多个项的元组。
格式化总是会返回新的字符串作为结果而不是对左侧的字符串进行修改。由于字符串是不可变的,所以只能这样操作。
%[(name)][flags][width][.precision]typecode
#!/user/bin/env python # coding=utf-8 x=1.23456789 print '%-6.2f | %05.2f | %+06.1f' % (x,x,x)
基于字典的字符串格式化
字符串的格式化同时也允许左边的转换目标来引用右边字典中的键来提取对应的值。
#!/user/bin/env python # coding=utf-8 print "%(n)d %(x)s" % {"n":1,"x":"spam"} reply=""" Greetings... Hello %(name)s! Your age squared is %(age)s """ values={'name':'Bob','age':40} print(reply % values)
字符串格式化方法调用
在主体字符串中,花括号通过位置(例如{1})或关键字(例如,{food})指出替换目标及将要插入的参数。
#!/user/bin/env python
# coding=utf-8
template='{0},{1} and {2}'
print template.format('spam','ham','eggs')
template='{motto},{pork} and {food}'
print template.format(motto='spam', pork='ham', food='eggs')
template='{motto},{0},and {food}'
print template.format('ham',motto='spam',food='eggs')
添加键、属性和偏移量
方括号指定字典键,而点表示位置或关键字所引用的一项的对象属性。
#!/user/bin/env python
# coding=utf-8
import sys
print 'My {1[spam]} runs {0.platform}'.format(sys, {'spam': 'laptop'})
print 'My {config[spam]} runs {sys.platform}'.format(sys=sys,config={'spam': 'laptop'})
相关文章推荐
- Python字符串格式化符号
- python字符串操作(连接、比较、格式化等)
- Python字符串格式化(转)
- 关于Python3.x的字符串格式化
- python字符串格式化 学习二
- Python日期时间格式化字符串
- Python补充05 字符串格式化 (%操作符)
- Python 格式化字符串小练习
- Python字符串格式化
- Python 基于 dictionary 的字符串格式化
- Python字符串格式化
- Python:字符串格式化
- python_格式化字符串
- Dive Into Python 学习记录1-函数/模块导入/字典/列表/元组/字符串分割、连接、格式化/映射list/
- Python字符串格式化问题
- [Dynamic Language] Python 日期时间格式化字符串
- PYTHON 字符串格式化
- python字符串格式化
- Python字符串格式化
- python字符串格式化输出的方式