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. JavaWeb学习篇之----Session&&Cookie

    今天继续来看看JavaWeb的相关知识,这篇文章主要来讲一下Session和Cookie的相关知识,首先我们来看一下Cookie的相关知识: 一.Cookie 简介: Cookie是客户端技术,服务器 ...

  2. 模拟+算贡献——cf1195D

    比赛的时候没看到模数,用java大数在写,最后看到的时候已经慌了.. 把贡献算清楚就可以 下面是贡献的推导 有五位数 abcde * 10个 有两位数 fg * 3 个 那么这两种数组成的情况就是 a ...

  3. NX二次开发-UFUN拾取草图尺寸对话框UF_UI_select_sketch_dimensions

    #include <uf.h> #include <uf_ui.h> #include <uf_sket.h> UF_initialize(); //拾取草图尺寸对 ...

  4. NX二次开发-NXOPEN自动切换到工程图模块

    UFUN的API里是没有切换到工程图的函数的,NXOPEN里是有方法可以用的.不过应该是不支持NX9以下的版本. NX9的不能录制出来,在UI类里有方法 NX9+VS2012 #include < ...

  5. struts漏洞处理--老项目struts版本升级遇到的问题

    struts漏洞S2-016被扫描出,要求升级struts版本,查看生产struts版本2.0.12,该漏洞影响版本2.3.15以下,上网搜索,struts2.5以上的要求jdk1.7,由于项目过老, ...

  6. solr 启动报错Cannot load analyzer: org.wltea.analyzer.lucene.IKAnalyzer

    schema.xml 配置文件信息: <field name="title" type="text_ik" indexed="true" ...

  7. 干货:Java技术栈18年02月精彩好文汇总

    一晃眼,一个月过去了,新年也过完了. 一晃眼,又老了一岁了,感觉新的一年压力更大了. 我们也该为这一个月的技术做做汇总了,错过的同学正好可以统一回顾看看,已经看过的同学也可以再温习一下.. Java技 ...

  8. nodejs入门安装与调试,mac环境

    install nvm (node version manager) 安装nvm curl -o- https://raw.githubusercontent.com/creationix/nvm/v ...

  9. Blahut-Arimoto algorithm Matlab源码

    For a discrete memoryless channel , the capacity is defined as where  and  denote the input and outp ...

  10. PHP算法之无重复字符的最长子串

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc&quo ...