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实现Linux下守护进程的编写方法
Aug 22 Python
巧用python和libnmapd,提取Nmap扫描结果
Aug 23 Python
高效使用Python字典的清单
Apr 04 Python
python根据txt文本批量创建文件夹
Dec 08 Python
Python列表(list)所有元素的同一操作解析
Aug 01 Python
Python使用微信接入图灵机器人过程解析
Nov 04 Python
使用pandas 将DataFrame转化成dict
Dec 10 Python
TensorFlow内存管理bfc算法实例
Feb 03 Python
python cookie反爬处理的实现
Nov 01 Python
详解Python中如何将数据存储为json格式的文件
Nov 18 Python
matplotlib部件之套索Lasso的使用
Feb 24 Python
pyqt5蒙版遮罩mask,setmask的使用
Jun 11 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
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
火车采集器 免费版使出收费版本功能实现原理
2009/09/17 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
javascript 仿QQ滑动菜单效果代码
2010/09/03 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
2013/08/13 Javascript
Javascript的闭包详解
2014/12/26 Javascript
JavaScript第一篇之实现按钮全选、功能
2016/08/21 Javascript
node获取客户端ip功能简单示例
2019/08/24 Javascript
详解基于Vue的支持数据双向绑定的select组件
2019/09/02 Javascript
vue之debounce属性被移除及处理详解
2019/11/13 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
JS代码简洁方式之函数方法详解
2020/07/28 Javascript
[01:43]深扒TI7聊天轮盘语音出处4
2017/05/11 DOTA
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
Python中的getopt函数使用详解
2015/07/28 Python
python中的字典使用分享
2016/07/31 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
基于python select.select模块通信的实例讲解
2017/09/21 Python
利用python批量修改word文件名的方法示例
2017/10/17 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
土耳其玩具商店:Toyzz Shop
2019/08/02 全球购物
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
Zalando Lounge瑞士:时尚与生活方式购物俱乐部
2020/03/12 全球购物
经典c++面试题二
2015/08/14 面试题
销售人员自我评价怎么写
2013/09/19 职场文书
农村婚礼证婚词
2014/01/10 职场文书
求职简历自荐信
2014/06/18 职场文书
死亡证明书样本说明
2014/10/18 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
学术会议通知范文
2015/04/15 职场文书
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript
如何让你的Nginx支持分布式追踪详解
2022/07/07 Servers