python format 格式化输出方法


Posted in Python onJuly 16, 2018

0、前言

在python2.7及以上的版本,str.format()的方式为格式化提供了非常大的便利。与之前的%型格式化字符串相比,他显得更为方便与优越。下面我们就来看看format的具体用法。

1、常见的用法

二话不说,首先上代码,看看format的一些常用方法。

print "{:.2f}".format(3.1415926) #3.14,保留小数点后两位
print "{:+.2f}".format(3.1415926) #+3.14 带符号保留小数点后两位
print "{:+.2f}".format(-10) #-10.00 带符号保留小数点后两位
print "{:+.0f}".format(-10.00) #-10 不带小数
print "{:0>2d}".format(1) #01 数字补零 (填充左边, 宽度为2)
print "{:x<2d}".format(1) #1x 数字补x (填充右边, 宽度为4)
print "{:x<4d}".format(10) #10xx 数字补x (填充右边, 宽度为4)
print "{:,}".format(1000000) #1,000,000 以逗号分隔的数字格式
print "{:.2%}".format(0.12) #12.00% 百分比格式
print "{:.2e}".format(1000000) #1.00e+06 指数记法
print "{:<10d}".format(10) #10 左对齐 (宽度为10)
print "{:>10d}".format(10) #  10 右对齐 (默认, 宽度为10)
print "{:^10d}".format(10) # 10 中间对齐 (宽度为10)

1、格式符

‘f'表示浮点数

‘d'表示十进制整数. 将数字以10为基数进行输出

‘%'表示百分数. 将数值乘以100然后以fixed-point(‘f')格式打印, 值后面会有一个百分号

‘e'表示幂符号. 用科学计数法打印数字, 用'e'表示幂.

2、对齐与填充

^、<、>分别是居中、左对齐、右对齐,后面带宽度 :后面带填充字符,只能是一个字符,不指定的话默认就是空格。

2、format基础字符串替换

format中的字符串参数可以使用{num}来表示。0表示第一个,1表示第二个,以此类推。

为了更好了解上面的用法,首先我们来看看format的源码

def format(self, *args, **kwargs): # known special case of str.format
  """
  S.format(*args, **kwargs) -> string

  Return a formatted version of S, using substitutions from args and kwargs.
  The substitutions are identified by braces ('{' and '}').
  """
  pass

给大家翻译一把:

使用args和kwargs的替换返回S的格式化版本,替换由大括号('{‘和'}')标识。

再来看看实际的例子:

print "{0} and {1} is good for big data".format("python","java")
print "{} and {} is good for big data".format("python","java")
print "{1} and {0} and {0} is good for big data".format("python","java")

让代码run起来以后的结果:

python and java is good for big data
python and java is good for big data
java and python and python is good for big data

还可以为参数制定名字:

print "{language1} is as well as {language2}".format(language1="python",language2="java")

效果如下:

python is as well as java

3、通过集合下标的方式访问

下面的例子也可以达到目的

languages = ["python","java"]
print "{0[0]} is as well as {0[1]}".format(languages)

最后的效果:

python is as well as java

4、通过对象属性

format还经常使用在对象属性中。请看下面的例子:

class Person(object):
 def __init__(self,name,age):
  self.name = name
  self.age = age

 def __str__(self):
  return "name is: {current.name}, age is: {current.age}".format(current=self)

p = Person("leilei",18)
print p

最后的效果:

name is: leilei, age is: 18

以上这篇python format 格式化输出方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python数据结构与算法之列表(链表,linked list)简单实现
Oct 30 Python
Python输出各行命令详解
Feb 01 Python
详解Python中where()函数的用法
Mar 27 Python
对Python中的@classmethod用法详解
Apr 21 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
解决在pycharm中显示额外的 figure 窗口问题
Jan 15 Python
Django上使用数据可视化利器Bokeh解析
Jul 31 Python
利用pyecharts读取csv并进行数据统计可视化的实现
Apr 17 Python
python编写一个会算账的脚本的示例代码
Jun 02 Python
scrapy头部修改的方法详解
Dec 06 Python
简单谈谈Python面向对象的相关知识
Jun 28 Python
opencv用VS2013调试时用Image Watch插件查看图片
Jul 26 Python
Python合并多个Excel数据的方法
Jul 16 #Python
详解django.contirb.auth-认证
Jul 16 #Python
Python爬虫使用脚本登录Github并查看信息
Jul 16 #Python
django认证系统实现自定义权限管理的方法
Jul 16 #Python
Sanic框架路由用法实例分析
Jul 16 #Python
Sanic框架安装与简单入门示例
Jul 16 #Python
python 除法保留两位小数点的方法
Jul 16 #Python
You might like
php实现面包屑导航例子分享
2015/12/19 PHP
php查询操作实现投票功能
2016/05/09 PHP
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
编程语言JavaScript简介
2014/10/16 Javascript
使用js实现数据格式化
2014/12/03 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
基于jQuery实现仿51job城市选择功能实例代码
2016/03/02 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
令按钮悬浮在(手机)页面底部的实现方法
2017/05/02 Javascript
JavaScript学习笔记之惰性函数示例详解
2017/08/27 Javascript
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
2018/01/07 Javascript
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
JS求解两数之和算法详解
2020/04/28 Javascript
Vue实现简单计算器
2021/01/20 Vue.js
[50:27]Secret vs VG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
PyCharm安装Markdown插件的两种方法
2019/06/24 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
pytorch 归一化与反归一化实例
2019/12/31 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
详细分析Python collections工具库
2020/07/16 Python
.NET程序员的几道面试题
2012/06/01 面试题
请解释一下webService? 如何用.net实现webService
2014/06/09 面试题
销售经理岗位职责
2014/03/16 职场文书
文明家庭先进事迹材料
2014/05/14 职场文书
应届生求职信范文
2014/06/30 职场文书
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js
PyTorch device与cuda.device用法
2022/04/03 Python