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 subprocess模块学习总结
Mar 13 Python
Python基于twisted实现简单的web服务器
Sep 29 Python
Python结巴中文分词工具使用过程中遇到的问题及解决方法
Apr 15 Python
Python进程间通信之共享内存详解
Oct 30 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
Nov 07 Python
python使用time、datetime返回工作日列表实例代码
May 09 Python
Django 开发环境配置过程详解
Jul 18 Python
python 解决cv2绘制中文乱码问题
Dec 23 Python
python实现一个猜拳游戏
Apr 05 Python
python爬取代理IP并进行有效的IP测试实现
Oct 09 Python
基于PyTorch中view的用法说明
Mar 03 Python
python 中 .py文件 转 .pyd文件的操作
Mar 04 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
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
用户的详细注册和判断
2006/10/09 PHP
以文本方式上传二进制文件的PHP程序
2006/10/09 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
php下安装配置fckeditor编辑器的方法
2011/03/02 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
简单三步,搞掂内存泄漏
2007/03/10 Javascript
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
在jquery中combobox多选的不兼容问题总结
2013/12/24 Javascript
使用JS+plupload直接批量上传图片到又拍云
2014/12/01 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
css如何让浮动元素水平居中
2015/08/07 Javascript
Nginx上传文件全部缓存解决方案
2015/08/17 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
Jquery ajax请求导出Excel表格的实现代码
2016/06/08 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
2017/04/13 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
vue3.0中的双向数据绑定方法及优缺点
2019/08/01 Javascript
为什么JavaScript中0.1 + 0.2 != 0.3
2020/12/03 Javascript
python回调函数中使用多线程的方法
2017/12/25 Python
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
python实现顺时针打印矩阵
2019/03/02 Python
Python/Django后端使用PIL Image生成头像缩略图
2019/04/30 Python
python带参数打包exe及调用方式
2019/12/21 Python
Python如何根据时间序列数据作图
2020/05/12 Python
HTML5之语义标签介绍
2016/07/07 HTML / CSS
建筑专业毕业生自荐信
2014/05/25 职场文书
服务标语大全
2014/06/18 职场文书
乡党委干部党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
收入证明范本
2015/06/12 职场文书
Vue图片裁剪组件实例代码
2021/07/02 Vue.js
一文了解JavaScript用Element Traversal新属性遍历子元素
2021/11/27 Javascript
使用Ajax实现进度条的绘制
2022/04/07 Javascript