`
nbkangta
  • 浏览: 431737 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

Python字符串格式化

 
阅读更多

http://docs.python.org/2.7/library/string.html#formatspec

python内置了一个称为 Format Sepcification Mini-Language 格式化语言

语言基本内容如下:

format_spec ::=  [[fill]align][sign][#][0][width][,][.precision][type]
fill        ::=  <a character other than '{' or '}'>
align       ::=  "<" | ">" | "=" | "^"
sign        ::=  "+" | "-" | " "
width       ::=  integer
precision   ::=  integer
type        ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

 

赋值示例:

>>> '{0}, {1}, {2}'.format('a', 'b', 'c')
'a, b, c'
>>> '{}, {}, {}'.format('a', 'b', 'c')  # 2.7+ only
'a, b, c'
>>> '{2}, {1}, {0}'.format('a', 'b', 'c')
'c, b, a'
>>> '{2}, {1}, {0}'.format(*'abc')      # unpacking argument sequence
'c, b, a'
>>> '{0}{1}{0}'.format('abra', 'cad')   # arguments' indices can be repeated
'abracadabra'

 

通过命名赋值

>>> 'Coordinates: {latitude}, {longitude}'.format(latitude='37.24N', longitude='-115.81W')
'Coordinates: 37.24N, -115.81W'
>>> coord = {'latitude': '37.24N', 'longitude': '-115.81W'}
>>> 'Coordinates: {latitude}, {longitude}'.format(**coord)
'Coordinates: 37.24N, -115.81W'

 

访问属性

>>> c = 3-5j
>>> ('The complex number {0} is formed from the real part {0.real} '
...  'and the imaginary part {0.imag}.').format(c)
'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'
>>> class Point(object):
...     def __init__(self, x, y):
...         self.x, self.y = x, y
...     def __str__(self):
...         return 'Point({self.x}, {self.y})'.format(self=self)
...
>>> str(Point(4, 2))
'Point(4, 2)'

 

访问元组

>>> coord = (3, 5)
>>> 'X: {0[0]};  Y: {0[1]}'.format(coord)
'X: 3;  Y: 5'

 

替代 %s %r

>>> "repr() shows quotes: {!r}; str() doesn't: {!s}".format('test1', 'test2')
"repr() shows quotes: 'test1'; str() doesn't: test2"

 

指定长度和对齐方式

>>> '{:<30}'.format('left aligned')
'left aligned                  '
>>> '{:>30}'.format('right aligned')
'                 right aligned'
>>> '{:^30}'.format('centered')
'           centered           '
>>> '{:*^30}'.format('centered')  # use '*' as a fill char
'***********centered***********'

 

替代%+f, %-f, % f

>>> '{:+f}; {:+f}'.format(3.14, -3.14)  # show it always
'+3.140000; -3.140000'
>>> '{: f}; {: f}'.format(3.14, -3.14)  # show a space for positive numbers
' 3.140000; -3.140000'
>>> '{:-f}; {:-f}'.format(3.14, -3.14)  # show only the minus -- same as '{:f}; {:f}'
'3.140000; -3.140000'

 

替代%x, %o

>>> # format also supports binary numbers
>>> "int: {0:d};  hex: {0:x};  oct: {0:o};  bin: {0:b}".format(42)
'int: 42;  hex: 2a;  oct: 52;  bin: 101010'
>>> # with 0x, 0o, or 0b as prefix:
>>> "int: {0:d};  hex: {0:#x};  oct: {0:#o};  bin: {0:#b}".format(42)
'int: 42;  hex: 0x2a;  oct: 0o52;  bin: 0b101010'

 

使用千分位

>>> '{:,}'.format(1234567890)
'1,234,567,890'

 

百分比

>>> points = 19.5
>>> total = 22
>>> 'Correct answers: {:.2%}'.format(points/total)
'Correct answers: 88.64%'

 

日期格式化

>>> import datetime
>>> d = datetime.datetime(2010, 7, 4, 12, 15, 58)
>>> '{:%Y-%m-%d %H:%M:%S}'.format(d)
'2010-07-04 12:15:58'

 

分享到:
评论

相关推荐

    Python字符串格式化%s%d%f详解

    Python字符串格式化是一种强大的工具,用于构建动态生成的字符串,其中可以嵌入变量的值。在Python中, `%` 操作符被用来进行格式化,它支持多种类型的格式化符号,如 `%s`, `%d`, `%f` 等。这些符号在不同的上下...

    Python 字符串格式化详细指南.docx

    Python 字符串格式化详细指南

    Python字符串格式化输出方法分析

    Python字符串格式化是编程中常见的任务,用于将变量值插入到字符串模板中,以生成具有动态内容的输出。本文将详细分析Python中的三种主要字符串格式化方法:元组占位符、`format`方法和字典占位符。 1. **元组占位...

    Python 字符串、内建函数.doc

    "Python 字符串、内建函数" Python 字符串是 Python 中最常用的数据类型。我们可以使用引号('或")... Python 字符串运算符有多种操作符号, Python 字符串格式化可以将一个值插入到一个有字符串格式符 %s 的字符串中。

    Python字符串格式化输出代码实例

    这篇文章主要介绍了Python字符串格式化输出代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用占位符%s name = '小飞' print('姓名是: %s' % name)...

    学学Python_字符串02_格式化

    我们将基于标题“学学Python_字符串02_格式化”和提供的描述,讨论Python中的字符串格式化技术。 在Python 2.x中,字符串格式化通常使用`%`操作符,而在Python 3.x中,引入了更强大且灵活的`str.format()`方法。...

    python字符串思维导图(基本全覆盖)

    Python 字符串格式化(基本全覆盖) 在 Python 中,字符串格式化是一个非常重要的概念。字符串格式化可以将变量的值插入到字符串中,从而使得字符串更加灵活和实用。本文将对 Python 字符串格式化进行详细的介绍,...

    Python字符串格式化的方法(两种)

    ### Python字符串格式化的方法 在Python编程中,字符串格式化是一项基本且重要的技能,它能够帮助开发者更加灵活地处理和展示字符串数据。Python提供了多种方式进行字符串格式化,其中较为常见的是“百分号方式”和...

    浅谈Python 字符串格式化输出(format/printf)

    Python 字符串格式化使用 “字符 %格式1 %格式2 字符”%(变量1,变量2),%格式表示接受变量的类型。简单的使用例子如下: # 例:字符串格式化 Name = ’17jo’  print ‘www.%s.com’%Name  &gt;&gt; www.17jo.com Name =...

    字符串格式化需求规格说明书

    1. **格式化字符串的基本语法**:在各种编程语言中,如Python的f-string、C++的printf、Java的String.format等,都有各自的字符串格式化方法。理解这些语法对于正确地构造和输出格式化的字符串至关重要。 2. **变量...

    python 格式化输出百分号的方法

    您可能感兴趣的文章:Python实现小数转化为百分数的格式化输出方法示例Python常见格式化字符串方法小结【百分号与format方法】python format 格式化输出方法浅谈Python 字符串格式化输出(format/printf)Python中格式...

    python字符串格式化方式解析

    Python字符串格式化是编程中常见的任务,用于将变量值插入到字符串模板中。有三种主要的字符串格式化方法,每种都有其特定的用途和优势。让我们深入了解一下这些方法。 首先,%格式符是Python早期版本中最常用的...

    python 字符串格式化的示例

    在Python编程语言中,字符串格式化是一个非常重要的概念,它允许我们动态地构造字符串,将变量的值插入到预定义的模板中。本文主要探讨了三种不同的字符串格式化方法:旧式的`%`操作符、`str.format()`方法以及最新...

    Python字符串格式化常用手段及注意事项

    在Python编程中,字符串格式化是一项重要的任务,它允许我们将变量插入到字符串中,以便创建动态文本。Python提供了多种字符串格式化方法,本篇文章将详细探讨两种常见的手段:f-string和`string.Template`,以及...

    python格式化字符串实例总结

    将python字符串格式化方法以例子的形式表述如下: * 定义宽度 Python代码如下: &gt;&gt;&gt;'%*s' %(5,'some') ' some' – 左对齐 Python代码如下: &gt;&gt;&gt;'%-*s' %(5,'some') 'some ' 最小宽度为6的2位精度的浮点小数,...

Global site tag (gtag.js) - Google Analytics