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,新的更加容易读懂的字符串格式化方法, 从原来的% 模式变成新的可读性更强的 花括号声明{}.用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序 ...
随机推荐
- HTML5表格(table)篇
初学HTML接触table少不了,但是实际应用的地方也有. 简单说明HTML <table> 标签 定义和用法 <table> 标签定义 HTML 表格. 简单的 HTML 表 ...
- thinkphp 防止XSS(跨站脚本攻击)
XSS(跨站脚本攻击)可以用于窃取其他用户的Cookie信息,要避免此类问题,可以采用如下解决方案: 直接过滤所有的JavaScript脚本: 转义Html元字符,使用htmlentities.htm ...
- Kafka高级API和低级API
Kafka消费过程分析 kafka提供了两套consumer API:高级Consumer API和低级API. 1 高级API 1)高级API优点 高级API 写起来简单 不需要去自行去管理offs ...
- NX二次开发-UFUN所有对象类型的宏定义
/**************************************************************************** Copyright (c) 2010 Sie ...
- MySQL数据库迁移详细步骤
转载自:http://sofar.blog.51cto.com/353572/1598364 ===================================================== ...
- jsp-request应用1
用jsp写表单提交数据时需要用到request去读取数据,表单代码如下: <form action="requestresult.jsp" method="post ...
- UVA-10200-Prime Time-判断素数个数(打表预处理)+精度控制
题意: 给出a.b区间,判断区间内素数所占百分比 思路: 注意提前打表和控制精度1e-8的范围足够用了 细节: 精度的处理 判断素数的方法(且返回值为bool) 数据类型的强制转换 保存素数个数 提前 ...
- CometOJ Contest #3 C
题目链接:https://cometoj.com/contest/38/problem/C?problem_id=1542&myself=0&result=0&page=1&a ...
- FIR和IIR设计指标
- 实现solr热词排行榜
现在有业务场景,要求实现词库里面,最新,最热的词并显示,点击热词后可以进入相关信息的文章或者句子 热词的显示频率12小时更新一次. 实现思路: 实现步骤: