博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python字符串的格式化操作
阅读量:6081 次
发布时间:2019-06-20

本文共 1743 字,大约阅读时间需要 5 分钟。

http://www.cnblogs.com/JerySpace/archive/2010/12/17/1909621.html  字符串的格式化 在python中也有类似于c中的printf()的格式输出标记。在python中格式化输出字符串使用的是%运算符,通用的形式为格式标记字符串 % 要输出的值组其中,左边部分的”格式标记字符串“可以完全和c中的一致。右边的'值组'如果有两个及以上的值则需要用小括号括起来,中间用短号隔开。重点来看左边的部分。左边部分的最简单形式为:%cdoe其中的code有多种,不过由于在python中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用’%s‘来标记。比如:'%s %s %s' % (1, 2.3, ['one', 'two', 'three'])它的输出为'1 2.3 ['one', 'two', 'three']',就是按照%左边的标记输出的。虽然第一个和第二值不是string类型,一样没有问题。在这个过程中,当电脑发现第一个值不是%s时,会先调用整型数的函数,把第一个值也就是1转成string类型,然后再调用str()函数来输出。前面说过还有一个repr()函数,如果要用这个函数,可以用%r来标记。除了%s外,还有很多类似的code:整型数:%d无符号整型数:%u八进制:%o十六进制:%x   %X浮点数:%f科学记数法: %e   %E根据数值的不同自动选择%e或%f: %g根据数值的不同自动选择%E或%f: %G就跟前面说用\进行转义一样,这里用%作为格式标记的标识,也有一个%本身应该如何输出的问题。如果要在”格式标记字符串“中输出%本身,可以用%%来表示。上面说的只是格式标记的最简间的形式,来看复杂一点的:‘%6.2f’ % 1.235在这种形式中,在f的前面出现了一个类似小数的6.2它表示的意思是,总共输出的长度为6个字符,其中小数2位。还有更复杂的:‘%06.2f’ % 1.235在6的前面多了一个0,表示如果输出的位数不足6位就用0补足6位。这一行的输出为‘001.24’,可以看到小数也占用一位。类似于这里0这样的标记还有-、+。其中,-表示左对齐,+表示在正数前面也标上+号,默认是不加的。最后来看最复杂的形式:‘%(name)s:%(score)06.1f’ %{'score':9.5, 'name':'newsim'}这种形式只用在要输出的内容为dictionary(一种python的数据类型)时,小括号中的(name)和(score)对应于后面的键值对中的键。前面的例子可以看到,”格式标记字符串“中标记的顺序和"要输出的值组"中的值是一一对应的,有顺序,一对一,二对二。而在这种形式中,则不是,每个格式标记对应哪个值由小括号中的键来指定。这行代码的输出为:'newsim:0009.5'。 有时候在%6.2f这种形式中,6和2也不能事先指定,会在程序运行过程中再产生,那怎么输入呢,当然不能用%%d.%df或%d.%d%f。可以用%*.*f的形式,当然在后面的”要输出的值组“中包含那两个*的值。比如:'%*.*f' % (6, 2, 2.345)就相当于'%6.2f' % 2.345。这是这本书到此为止看起来最复杂的内容。不过如果记不住,或不想那么耐烦,完全可以全部用%s代替,或者用多个"+"来构造类似的输出字符串。这里的%真有点除法的味道,怪不得设计者会选择用%这个除号。  象C 中的sprintf函数一样,可以用“%”来格式化字符串。Table 3.1. 字符串格式化代码格式	描述%%	百分号标记%c	字符及其ASCII码%s	字符串%d	有符号整数(十进制)%u	无符号整数(十进制)%o	无符号整数(八进制)%x	无符号整数(十六进制)%X	无符号整数(十六进制大写字符)%e	浮点数字(科学计数法)%E	浮点数字(科学计数法,用E代替e)%f	浮点数字(用小数点符号)%g	浮点数字(根据值的大小采用%e或%f)%G	浮点数字(类似于%g)%p	指针(用十六进制打印值的内存地址)%n	存储输出字符的数量放进参数列表的下一个变量中
你可能感兴趣的文章
《三》深入理解Pod对象
查看>>
Java异常时的返回值
查看>>
Java 加载资源文件
查看>>
thinkphp门窗定制电商平台-尺寸定制页面
查看>>
LINUX网络管理之Centos6&&Centos7
查看>>
Myeclipse 2014 专业版 安装 svn插件
查看>>
比较 PHP集成开发工具(IDE)
查看>>
[转载]windows机器 cmd命令下能否使用什么命令通过ssh连接到远程lin
查看>>
MySQL入门-4:检索数据
查看>>
我的友情链接
查看>>
configure: error: wrong mysql library version or lib not found
查看>>
OSX 更新 node-qrcode
查看>>
awk命令
查看>>
Linux 核心-封面
查看>>
对面的GMAT请看过来
查看>>
CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
查看>>
我的友情链接
查看>>
老板不希望手下通晓的大道理
查看>>
第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
查看>>
windows下安装MongoDB
查看>>