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操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
Jul 11 Python
对python中的xlsxwriter库简单分析
May 04 Python
python 实现倒排索引的方法
Dec 25 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
python matplotlib折线图样式实现过程
Nov 04 Python
Python OpenCV视频截取并保存实现代码
Nov 30 Python
解决Pytorch训练过程中loss不下降的问题
Jan 02 Python
Django的CVB实例详解
Feb 10 Python
Python实现AI换脸功能
Apr 10 Python
Keras自定义实现带masking的meanpooling层方式
Jun 16 Python
python生成随机数、随机字符、随机字符串
Apr 06 Python
Python自动化爬取天眼查数据的实现
Jun 15 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中的插件机制原理和实例
2014/07/08 PHP
关于PHP中字符串与多进制转换函数的实例代码
2016/11/03 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
JavaScript 常用函数库详解
2009/10/21 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
2010/11/14 Javascript
js 输出内容到新窗口具体实现代码
2013/05/31 Javascript
用javascript对一个json数组深度赋值示例
2014/07/27 Javascript
基于JavaScript如何制作遮罩层对话框
2016/01/26 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
2020/01/21 Javascript
原生JS实现留言板功能
2020/02/08 Javascript
Python设计模式之单例模式实例
2014/04/26 Python
Django中使用group_by的方法
2015/05/26 Python
python中字典(Dictionary)用法实例详解
2015/05/30 Python
python爬虫_自动获取seebug的poc实例
2017/08/05 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
2018/03/15 Python
pytorch 调整某一维度数据顺序的方法
2018/12/08 Python
Python matplotlib生成图片背景透明的示例代码
2019/08/30 Python
Java如何基于wsimport调用wcf接口
2020/06/17 Python
Python实现对word文档添加密码去除密码的示例代码
2020/12/29 Python
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
大型活动策划方案
2014/01/12 职场文书
小学科学教学反思
2014/01/26 职场文书
应聘编辑自荐信范文
2014/03/12 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
跑吧孩子观后感
2015/06/10 职场文书
原生JS实现飞机大战小游戏
2021/06/09 Javascript
Python基本知识点总结
2022/04/07 Python