先看代码吧。

#!/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的区别,各位可以去搜索一下,我这里就不赘述了。

  点击这里和我交流

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

  1. python字符串格式化 %操作符 {}操作符---总结

    Python字符串格式化 (%占位操作符) 在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出.Python中内置有对字符串进行格式化的操作 %. 模板 格式化字 ...

  2. Python学习:12.Python字符串格式化

    字符串格式化 讲解Python这么久,也没有讲解Python的字符串的格式化,那我们今天就来了解一下python字符串格式化的强大之处. 首先我们先理解一下为什么要有字符串的格式化,就是为了方便字符串 ...

  3. Python 字符串格式化

    Python 字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存 一 ...

  4. 【转】Python字符串格式化

    Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中. 在 Python 中,字符串格式化使用与 C 中 sp ...

  5. 7. python 字符串格式化方法(2)

    7. python 字符串格式化方法(2) 紧接着上一章节,这一章节我们聊聊怎样添加具体格式化 就是指定替换字段的大小.对齐方式和特定的类型编码,结构如下: {fieldname!conversion ...

  6. 7. python 字符串格式化方法(1)

    7. python 字符串格式化方法(1) 承接上一章节,我们这一节来说说字符串格式化的另一种方法,就是调用format() >>> template='{0},{1} and {2 ...

  7. 6. python 字符串格式化表达式

    6. python 字符串格式化表达式 字符串格式化允许在一个单个的步骤中对一个字符串执行多个特定类型的替换 特别是给用户提示的时候,格式化非常方便 实现方法: 1.格式化表达式,类似于c语言的pri ...

  8. python字符串格式化--dict传参

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python字符串格式化--dict传参 print "I'm %(name)s. I'm %(a ...

  9. (转)Python 字符串格式化 str.format 简介

    原文:https://www.cnblogs.com/wilber2013/p/4641616.html http://blog.konghy.cn/2016/11/25/python-str-for ...

随机推荐

  1. 几个Python oj的网站

    http://www.rqnoj.cn/ http://www.pythontip.com/

  2. jvm强制类型转换

    public class Integer_Object { public static void main(String[] args){ Object obj = new ooo(); // Int ...

  3. bash基础知识

    站在用户登录的角度来说,SHELL的类型:登录式shell: 正常通常某终端登录 su - USERNAME su -l USERNAME 非登录式shell: su USERNAME 图形终端下打开 ...

  4. C指针--通过二级指针往回拉数据

    现在有这种需求,在main函数中建立一个二叉树的root结点的指针,在tree_create函数中malloc或者new一个二叉树结点,然后在main函数中能正常的访问这个新建的结点. 注:这里的tr ...

  5. 获取ajax对象

    function ajaxFunction(){ var xmlHttp; try{ // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest ...

  6. 【译】Optimize caching-缓存优化

    缓存优化 大部分的网页都包括不常更改的资源,比如CSS文件,图片文件,JavaScript文件等.这些资源通过网络下载需要一定的时间,这就增加了网页加载的总时间.HTTP缓存可以让这些资源通过浏览器以 ...

  7. requireJS配置选项

    1. baseUrl  当设置的目录最前面带有/,则是从电脑的根目录开始算起,若是baseUrl='another/path' 则是从require.js的目录开始算起 而且当require(['a. ...

  8. python---连接MySQL第四页

    python缓存结果集式的cursor可以用来提高性能. 例子: #!conding:utf-8 from mysql.connector import errorcode import mysql. ...

  9. java改变图片文件尺寸

    package test.common; import java.awt.Graphics; import java.awt.Image; import java.awt.image.Buffered ...

  10. win7下设置 WiFi AP

    开启windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP),就可以让计算机变成无线路由器.实现共享上网. 1.以管理员身份运行命令提示符: “开始”---在搜索栏输入“cmd”-- ...