Python数据格式化
Python有两种格式化字符串的方式,使用%或者使用内置format()函数。
使用%格式化字符串
在Python中使用%来格式化字符串,用法和效果类似于C语言中的%。格式为:%特定的转换类型 %data。
以下是常用的转换类型
| %s | 字符串 |
| %d | 十进制整数 |
| %x | 十六进制整数 |
| %o | 八进制整数 |
| %f | 十进制浮点数 |
| %e | 科学计数法表示浮点数 |
| %g | 十进制或科学计数法表示的浮点数 |
| %% | %本身 |
使用%格式化的例子,如下
>>> n = 52
>>> f = 72.08
>>> s = 'this is a test string'
>>> '%s %s %s' %(n,f,s) >>> print('%s\n%s\n%s' %(n,f,s)) //以%s的方式输出
52
72.08
this is a test string >>> print('%d\n%d' %(n,f)) //以%d的方式输出
52
72 字符串只能以%s的方式输出 >>> print('%f\n%f' %(n,f)) //以%f的方式输出
52.000000
72.080000 >>> print('%10d\n%10f\n%10s' %(n,f,s)) //设置最小宽度为10,默认右对齐
52
72.080000
this is a test string >>> print('%-10d\n%-10f\n%-10s' %(n,f,s)) //左对齐
52
72.080000
this is a test string >>> print('%-10.4d\n%-10.4f\n%-10.4s' %(n,f,s)) //设置小数点精度
0052
72.0800
this
使用format()函数格式化字符串
使用内置format()函数格式化数据要和{}配合使用。以下是一些使用的例子。
>>> n = 52
>>> f = 72.08
>>> s = 'this is a test string'
>>> print('{}\n{}\n{}'.format(n,f,s)) //最简单的使用方式
52
72.08
this is a test string >>> print('{1}\n{2}\n{0}'.format(n,f,s)) //可以通过这种方式设置输出的顺序,默认0是最开始的位置,这里表示依次输出第二个、第三个、第一个数据
72.08
this is a test string
52 //format的参数可以是命名变量,或者是字典形式
>>> print('{f}\n{n}\n{s}'.format(n=52,f=72.08,s='this is a test string'))
72.08
52
this is a test string >>> dict1 = {'n':52, 'f':72.08, 's':'this is a test string'}
>>> print('{0[f]}\n{0[s]}\n{0[n]}'.format(dict1))
72.08
this is a test string
52 >>> dict2 = {'n2':13, 'f2':5.08, 's2':'hello string'}
>>> print('{0[f]}\n{0[s]}\n{0[n]}\n{1[f2]}\n{1[n2]}\n{1[s2]}\n{2}'.format(dict1,dict2,'string3'))
72.08
this is a test string
52
5.08
13
hello string
string3 //设置输出的格式
>>> print('{0[f]:10.4f}\n{0[s]:10.4s}\n{0[n]:10d}\n{1[f2]}\n{1[n2]}\n{1[s2]:15s}\n{2}'.format(dict1,dict2,'string3'))
72.0800
this
52
5.08
13
hello string
string3 //可以使用>设置有对齐<设置左对齐,使用^设置居中,看下面的例子
>>> print('{0[f]:>10.4f}\n{0[s]:>10.4s}\n{0[n]:>10d}\n{1[f2]}\n{1[n2]}\n{1[s2]:15s}\n{2}'.format(dict1,dict2,'string3'))
72.0800
this
52
5.08
13
hello string
string3 >>> print('{0[f]:^10.4f}\n{0[s]:^10.4s}\n{0[n]:^10d}\n{1[f2]}\n{1[n2]:^10d}\n{1[s2]:15s}\n{2}'.format(dict1,dict2,'string3'))
72.0800
this
52
5.08
13
hello string
string3 //另外可以设置填充字符,填充字符的位置在:之后,在排版符(<,>,^)之前
>>> '{0:#^20s}'.format('center')
'#######center#######'
更多format()的格式化的内容点这里。
Python数据格式化的更多相关文章
- python数据格式化之pprint
python数据格式化之pprint 2017年06月17日 13:56:33 阅读数:2291 简介 pprint模块 提供了打印出任何Python数据结构类和方法. 模块方法: 1.class p ...
- 【转】python数据格式化之pprint
pprint – 美观打印 作用:美观打印数据结构 pprint 包含一个“美观打印机”,用于生成数据结构的一个美观视图.格式化工具会生成数据结构的一些表示,不仅可以由解释器正确地解析,而且便于人类阅 ...
- python json.dumps()函数输出json格式,使用indent参数对json数据格式化输出
在python中,要输出json格式,需要对json数据进行编码,要用到函数:json.dumps json.dumps() :是对数据进行编码 #coding=gbkimport json dict ...
- python 文件与数据格式化
https://www.cnblogs.com/li-zhi-qiang/p/9269453.html 文件和数据格式化 https://www.cnblogs.com/li-zhi-qi ...
- Python基础篇(五)_文件和数据格式化
Python基础篇_文件和数据格式化 文件的使用:文件打开.关闭.读写 文件打开:通过open()函数打开文件,并返回一个操作文件的变量. 使用语法:<变量名> = (<文件路径以及 ...
- Python 注释和键盘输入,输出数据格式化
Python中的注释有单行注释和多行注释: Python中单行注释以 # 开头,例如: # 这是一个注释 print("Hello, World!") 多行注释用三个单引号 ''' ...
- python基础之 数据格式化
%还是format 皇城PK Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是form ...
- Python 字符串格式化
Python 字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存 一 ...
- python字符串格式化方法 format函数的使用
python从2.6开始支持format,新的更加容易读懂的字符串格式化方法, 从原来的% 模式变成新的可读性更强的 花括号声明{}.用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序 ...
随机推荐
- php数组函数,遍历数组的几种方法
数组创建: 1.array(): 生成一个数组 $a=array("Dog","Cat","Horse"); print_r($a);数组值 ...
- javascript追加节点
追加节点 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- java.lang.InstantiationException: com.lch.commder.entity.Car 已解决
以上的上异常,是你的类实例化对象失败的时候抛出异常,这种异常多会出现在抽象类中,在使用反射的机制时,解决方法很简单 在你的类中再加一个空构造方法
- 浅谈使用RestKit将服务器的Json直接映射为本地对象
RestKit是一个主要用于iOS上网络通信的开源框架,除了发送请求与接受响应这些基本功能外,还附带coredata,以及将远程JSON映射为本地对象的功能.目前版本0.9.3,coredata还不是 ...
- 2018-2019-2-20175323 java实验三敏捷开发与XP实践
代码规范 安装alibaba插件 首先使用code栏里面的reformat code使代码的格式更加规范 再用编码规约扫描,alibaba把问题分为block/critical/major三个等级,出 ...
- Greenplum(PostgreSql)使用 with recursive 实现树形结构递归查询并插入新表
本代码目的是替代Oracle的connect by语句,并实现后者的path和idleaf功能. 正文开始: 假设表org,字段有 id(编号),name(名称),pid(上级编号), 最上级的记录p ...
- tomcat部署项目报错NoSuchMethodException#addServlet,addFilter
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet java.lang.NoSuchMethod ...
- 运行mybatis项目,运行测试类,点击test后,出现Cannot start compilation: the output path is not specified for module "前......
Cannot start compilation: the output path is not specified for module "前 后来发现是在pom.xml右击,有个+号,把 ...
- Python骚操作(一)
1. 交换变量值 2. 将列表中所有元素组合成字符串 3. 查找列表中频率最高的值 4. 检查连个字符串是不是由相同字母不同顺序组成 5. 反转字符串 6. 反转列表 7. 转置二维数组 8. 链式比 ...
- WebApi 如何 优雅的 对 输入输出 解密加密
原文:WebApi 如何 优雅的 对 输入输出 解密加密 这不是变态的想法, 这只是对现实需求的转化. 因为有密文, 所以本文不适用于浏览器到服务端的数据交换; 只适用于服务端到服务端的数据传输. 用 ...