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的区别,各位可以去搜索一下,我这里就不赘述了。
Python 字符串格式化示例的更多相关文章
- python字符串格式化 %操作符 {}操作符---总结
Python字符串格式化 (%占位操作符) 在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出.Python中内置有对字符串进行格式化的操作 %. 模板 格式化字 ...
- Python学习:12.Python字符串格式化
字符串格式化 讲解Python这么久,也没有讲解Python的字符串的格式化,那我们今天就来了解一下python字符串格式化的强大之处. 首先我们先理解一下为什么要有字符串的格式化,就是为了方便字符串 ...
- Python 字符串格式化
Python 字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存 一 ...
- 【转】Python字符串格式化
Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中. 在 Python 中,字符串格式化使用与 C 中 sp ...
- 7. python 字符串格式化方法(2)
7. python 字符串格式化方法(2) 紧接着上一章节,这一章节我们聊聊怎样添加具体格式化 就是指定替换字段的大小.对齐方式和特定的类型编码,结构如下: {fieldname!conversion ...
- 7. python 字符串格式化方法(1)
7. python 字符串格式化方法(1) 承接上一章节,我们这一节来说说字符串格式化的另一种方法,就是调用format() >>> template='{0},{1} and {2 ...
- 6. python 字符串格式化表达式
6. python 字符串格式化表达式 字符串格式化允许在一个单个的步骤中对一个字符串执行多个特定类型的替换 特别是给用户提示的时候,格式化非常方便 实现方法: 1.格式化表达式,类似于c语言的pri ...
- python字符串格式化--dict传参
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python字符串格式化--dict传参 print "I'm %(name)s. I'm %(a ...
- (转)Python 字符串格式化 str.format 简介
原文:https://www.cnblogs.com/wilber2013/p/4641616.html http://blog.konghy.cn/2016/11/25/python-str-for ...
随机推荐
- win server 2003 将MBR转为GPT突破硬盘2TB的限制(附微软磁盘科普)
备注:https://technet.microsoft.com/zh-cn/library/cc773223.aspx GUID 分区表 与支持最大卷为 2 TB (terabytes) 并且每个磁 ...
- Inno Setup打包的程序提升为管理员权限
Inno Setup打包的程序在Win7 64位系统上安装,安装步骤最后一步若选中运行程序,会跳出一个错误提示框. 这是因为64位win7系统运行程序时需要管理员权限,而打包的文件并没有这个权限就试图 ...
- ecshop给虚拟商品添加出售和未出售的导出xlc
在admin/virtral_card.php文件中找到$_REQUEST['act'] == 'card'这里是用来显示某一个虚拟商品的出售记录的列表将会发送到replenish_list.htm在 ...
- 获取Json对象的长度或计数
最近又开始写博客了.因为最近的工作又开始与技术方面接口了.现在在开发WEB的时候,经常会遇到JSON对象的传递,JSON是个好东西,但是它却没有提供一些简单便捷的处理方法,其中获取JSON对象的长度就 ...
- WampServer下如何实现多域名配置
原文:WampServer下如何实现多域名配置 之前在学习跨域的时候,我写过一篇叫做WampServer下使用多端口访问的文章,默认的 localhost 采用的是 80 端口,能使用多端口访问的核心 ...
- Annotation 与 HttpClient(5)--Annotation HttpClient
Annotation HttpClient 本内容不保证正确性,如有问题请及时提出 经过前面四篇博客的铺垫,现在给出带有标记的HttpClient的实现. 1. 带标记的HttpClient的 ...
- java应用程序远程登录linux并执行其命令(ssh jar包)
http://www.ganymed.ethz.ch/ssh2/在这个网址下载一个调用ssh和scp命令的jar包. 然后,就可以写程序了.将上面的jar包导入MyEclipse,下面是一个类的实例代 ...
- ubuntu下整合eclipse和javah生成jni头文件开发android的native程序
0:前言: 这两天一直在研究用android的jni调用第三方库,上网搜方法,但是都是泛泛而谈,没有demo,经过我几番折磨,写了n多的helloword工程,总是不成功,工程名字也就由helloow ...
- 转发:为什么Android使用弱加密算法?
Android 2.2.1默认使用的加密算法是AES 256-SHA1,但从2010年发布的Android 2.3开始,它默认使用的是一种更弱的加密算法 RC4-MD5. 当Android应用建立 ...
- MyEclipse中jquery文件报错