Python 字符串格式化示例

  先看代码吧。

#!/usr/bin/env python
#-*- coding: utf-8 -*-
__author__ = ‘jiang‘
__creattime__ = ‘2015/10/31 23:40‘

width = input(‘please enter width:‘)

price_width = 10
item_width = width - price_width

header_format = ‘%-*s%*s‘
format = ‘%-*s%*.2f‘

print ‘=‘ * width

print header_format % (item_width,‘Item‘,price_width,‘Price‘)

print ‘-‘ * width

print format % (item_width,‘Apples‘,price_width,0.4)
print format % (item_width,‘Pears‘,price_width,0.5)
print format % (item_width,‘Cantaloupes‘,price_width,1.92)
print format % (item_width,‘Dried Apricots(16 oz.)‘,price_width,8)
print format % (item_width,‘Prunes(4 lbs)‘,price_width,12)

print ‘=‘ * width

  ok,再让我们看看打印出来是什么样的。

==================================================
Item                                         Price
--------------------------------------------------
Apples                                        0.40
Pears                                         0.50
Cantaloupes                                   1.92
Dried Apricots(16 oz.)                        8.00
Prunes(4 lbs)                                12.00
==================================================

  看着还行,不过有个问题,在你给width赋值的时候尽量大一点。如果你赋值太小比如20,右边的价格就不会对齐。有兴趣的可以跑一边代码。

  说几个关键的点。head_format = ‘%-*S%*s‘ ,字符串格式操作符%后面加s表示可以使用str格式化任意python对象。‘-‘表示左对齐。‘*‘表示可以接收字段宽度和精度。

  下面是字符串格式化转换类型,或许你可以看看。

  

转换类型                                        含义
d,i                                    带符号的十进制整数
o                                      不带符号的八进制
u                                      不带符号的十进制
x                                      不带符号的十六进制(小写)
X                                      不带符号的十六进制(大写)
e                                      科学计数法表示的浮点数(小写)
E                                      科学计数法表示的浮点数(大写)
f,F                                    十进制浮点数
r                                      字符串(使用repr转换任意python对象)
s                                      字符串(使用str转换任意python对象)

   关于更多的字符串转换类型你可以去网上搜索一下。  

   简单的转换:

    

>>>‘Price of eggs : $%d‘ % 42
‘Price of eggs : $42‘

>>>from math import pi
>>>‘Pi : %f...‘ % pi
Pi : 3.141593...

>>>‘my age is %s ‘ % 42L
‘my age is 42‘

>>>‘my age is %r‘ % 42L
‘my age is 42L‘

  关于str和repr的区别,各位可以去搜索一下,我这里就不赘述了。

  点击这里和我交流

时间: 11-01

Python 字符串格式化示例的相关文章

[转载]python字符串格式化: %操作符 {}操作符

Python字符串格式化 (%占位操作符) 在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出.Python中内置有对字符串进行格式化的操作 %. 模板 格式化字符串时,Python使用一个字符串作为模板.模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式.Python用一个tuple将多个值传递给模板,每个值对应一个格式符. 比如下面的例子: print("I'm %s. I'm %d year old" % ('Vamei

python字符串格式化之学习笔记

在python中格式化输出字符串使用的是%运算符,通用的形式为 •格式标记字符串 % 要输出的值组其中,左边部分的”格式标记字符串“可以完全和c中的一致.右边的'值组'如果有两个及以上的值则需要用小括号括起来,中间用短号隔开.重点来看左边的部分.左边部分的最简单形式为: •%cdoe其中的code有多种,不过由于在python中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用’%s‘来标记.比如: •'%s %s %s' % (1, 2.3, ['one', '

python 字符串格式化

字符串格式化 Python的字符串格式化有两种方式:%格式符方式,format方式 %格式符 %[(name)][flags][width].[precision]typecode (name)      可选,用于选择指定的key flags          可选,可供选择的值有: +       右对齐:正数前加正好,负数前加负号: -        左对齐:正数前无符号,负数前加负号: 空格    右对齐:正数前加空格,负数前加负号: 0        右对齐:正数前无符号,负数前加负号

python字符串格式化方法 format函数的使用

python从2.6开始支持format,新的更加容易读懂的字符串格式化方法, 从原来的% 模式变成新的可读性更强的 花括号声明{}.用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序号, 或者 变量名直接引用. 从format参数引入的变量名 . 冒号:. 字符位数声明. 空白自动填补符 的声明 千分位的声明 变量类型的声明: 字符串s.数字d.浮点数f 对齐方向符号 < ^ > 属性访问符中括号 ? 使用惊叹号!后接a .r. s,声明 是使用何种模式, acsii模式.引用_

python字符串格式化 (%操作符)

模板 格式化字符串时,Python使用一个字符串作为模板.模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式.Python用一个tuple将多个值传递给模板,每个值对应一个格式符. 比如下面的例子: print("I'm %s. I'm %d year old" % ('Vamei', 99)) 上面的例子中, "I'm %s. I'm %d year old" 为我们的模板.%s为第一个格式符,表示一个字符串.%d为第二个格式符,表示一个整数

python字符串格式化输出

python格式化输出 python格式化输出有两种方式:百分号和format format的功能要比百分号方式强大,其中format独有的可以自定义字符填充空白.字符串居中显示.转换二进制.整数自动分割.百分比显示 等功能是百分号方式不能相比的 1.百分号方式 1.1 格式 %[(name)][flags][width].[precision]typecode 1.2 参数说明 (name) 可选,用于选择指定的key flags 可选,可供选择的值有: + 右对齐:正数前加正好,负数前加负号

Python字符串格式化

1.1.1   字符串的格式化 >>> 'hello,%s' % 'world'    --字符串替换 'hello,world' >>> 'Hi,%s,you salary is $%d' %('DAIDAI',100000)     --字符串替换&整数替换 'Hi,DAIDAI,you salary is $100000' 1.1.1.1  整数的格式化 %d >>> a=7 >>> '%14d abc' % a    

python 字符串格式化操作符

% 用于格式化字符串,控制字符串的呈现格式 例子:print "I'm %s,I'm %d year old" % ('Vamei', 99)结果:I'm Vamei,I'm 99 year old解释:('Vamei', 99)的两个元素'Vamei'和99为替换%s和%d的真实值,%s 和 %d 就是格式操作符,格式操作符为真实值预留位置,并控制显示的格式 格式操作符: %s  转换成字符串,采用 str() 函数来转换%r  转换成字符串,采用 repr() 函数来转换%c  转

python字符串格式化 复制代码

Python 2.7.12rc1 (v2.7.12rc1:13912cd1e7e8, Jun 12 2016, 05:57:31) [MSC v.1500 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information.>>> str1="i love fish">>> str1