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数据格式化的更多相关文章

  1. python数据格式化之pprint

    python数据格式化之pprint 2017年06月17日 13:56:33 阅读数:2291 简介 pprint模块 提供了打印出任何Python数据结构类和方法. 模块方法: 1.class p ...

  2. 【转】python数据格式化之pprint

    pprint – 美观打印 作用:美观打印数据结构 pprint 包含一个“美观打印机”,用于生成数据结构的一个美观视图.格式化工具会生成数据结构的一些表示,不仅可以由解释器正确地解析,而且便于人类阅 ...

  3. python json.dumps()函数输出json格式,使用indent参数对json数据格式化输出

    在python中,要输出json格式,需要对json数据进行编码,要用到函数:json.dumps json.dumps() :是对数据进行编码 #coding=gbkimport json dict ...

  4. python 文件与数据格式化

    https://www.cnblogs.com/li-zhi-qiang/p/9269453.html       文件和数据格式化 https://www.cnblogs.com/li-zhi-qi ...

  5. Python基础篇(五)_文件和数据格式化

    Python基础篇_文件和数据格式化 文件的使用:文件打开.关闭.读写 文件打开:通过open()函数打开文件,并返回一个操作文件的变量. 使用语法:<变量名> = (<文件路径以及 ...

  6. Python 注释和键盘输入,输出数据格式化

    Python中的注释有单行注释和多行注释: Python中单行注释以 # 开头,例如: # 这是一个注释 print("Hello, World!") 多行注释用三个单引号 ''' ...

  7. python基础之 数据格式化

    %还是format 皇城PK Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是form ...

  8. Python 字符串格式化

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

  9. python字符串格式化方法 format函数的使用

      python从2.6开始支持format,新的更加容易读懂的字符串格式化方法, 从原来的% 模式变成新的可读性更强的 花括号声明{}.用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序 ...

随机推荐

  1. JAVA大数——lightoj1024

    要用 System.gc() 清理内存 类必须命名成Main,一些大整数的操作 import java.math.BigInteger; import java.util.Scanner; publi ...

  2. NX二次开发-UFUN链表UF_MODL_create_list等用法

    NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_curve.h> #include < ...

  3. CSS3:CSS3 简介

    ylbtech-CSS3:CSS3 简介 1.返回顶部 1. CSS3 简介 对CSS3已完全向后兼容,所以你就不必改变现有的设计.浏览器将永远支持CSS2. CSS3 模块 CSS3被拆分为&quo ...

  4. iOS报错锦集

    1.Your session has expired. Please log in. 提示“Your session has expired. Please log in.” 解决办法: Xcode ...

  5. 剑指offer——21正则表达式匹配

    题目描述 请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式 ...

  6. nodejs中命令行和node交互模式的区分

    来自:廖雪峰教程 么么哒~ 命令行模式和Node交互模式 请注意区分命令行模式和Node交互模式. 看到类似C:\>是在Windows提供的命令行模式: 在命令行模式下,可以执行node进入No ...

  7. Markdown 语法大全

    1 强调 星号与下划线都可以,单是斜体,双是粗体,符号可跨行,符号可加空格 **一个人来到田纳西** __毫无疑问__ *我做的馅饼 是全天下* _最好吃的_ 效果: 一个人来到田纳西 毫无疑问 我做 ...

  8. 27-Ubuntu-远程管理命令-01-关机和重启

    关机和重启--shutdown 注: 不指定选项和参数,默认表示1分钟之后关闭电脑 远程维护服务器时,最好不要关闭系统而应该重启 实例1:立刻关机 shutdown -h now 实例2:未带任何参数 ...

  9. USACO2007 Monthly Expense /// 二分法 oj21658

    题目大意: 共N ( 1 ≤ N ≤ 100,000 )个 工作日 ,分M ( 1 ≤ M ≤ N ) 个 清算月 一个 清算月 包含一个工作日或更多连续的工作日,每一个工作日都仅被包含在一个 清算月 ...

  10. Nginx配置web服务

    Nginx配置虚拟主机 虚拟主机概述 所谓虚拟主机,在web服务里就是一个独立的网站站点,这个站点对应独立的域名(也可以是IP或者端口),具有独立的程序及资源目录,可以独立的对外提供服务,继而给用户访 ...