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. thinkphp 模板驱动

    模板引擎驱动完成了第三方模板引擎的支持,通过定义模板引擎驱动,我们可以支持Smarty.TemplateLite.SmartTemplate和EaseTemplate等第三方模板引擎. 默认的模板引擎 ...

  2. JavaScript中的节流和防抖

    节流: 在规定时间内,多次触发事件,但是只执行一次 场景:输入框搜索,地图渲染 优化用户体验 /** * 节流 规定时间内不管触发多少次只执行一次 * @param {Function} fn 实际要 ...

  3. 约数个数求和+线性筛约数——bzoj3994

    这题首先要会线性筛约数个数,并求出前缀和 bool vis[maxn]; int mm,mu[maxn],prime[maxn],num[maxn],sum[maxn],d[maxn],sum1[ma ...

  4. mysql 第一次启动及常用命令

    启动 mysql -u root -p 进入后 # 显示有几个数据库 mysql> show databases; +--------------------+ | Database | +-- ...

  5. 转-pycharm建立项目

    转自:https://blog.csdn.net/m0_37544464/article/details/79171913 本文针对环境已经配置好的Pycharm建立新项目 1.第一步 2.第二步 在 ...

  6. (转)元类metaclass

    阅读目录 一 前言 二 什么是元类 三 class关键字创建类的流程分析 五 自定义元类控制类OldboyTeacher的创建 六 自定义元类控制类OldboyTeacher的调用 六 再看属性查找 ...

  7. 剑指offer——26反转链表

    题目描述 输入一个链表,反转链表后,输出新链表的表头.   题解: 每次只反转一个节点,先记住cur->next, 然后pre->cur,即可;   class Solution { pu ...

  8. 面向对象编程思想(OOP)总结

    本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞 ...

  9. jQuery Ajax请求 .net 一般处理程序

    初学ajax 一个简单的功能,调试了2个小时,代码如下虽然成功了 但是有错误 <!DOCTYPE html> <html> <head> <meta http ...

  10. 《转》python 12 列表解析

    转自 http://www.cnblogs.com/BeginMan/p/3164937.html 一.列表解析 列表解析来自函数式编程语言(haskell),语法如下: [expr for iter ...