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中enumerate函数用法实例分析
May 20 Python
python中如何使用正则表达式的集合字符示例
Oct 09 Python
python中的计时器timeit的使用方法
Oct 20 Python
Python3实现转换Image图片格式
Jun 21 Python
网易有道2017内推编程题 洗牌(python)
Jun 19 Python
django 微信网页授权登陆的实现
Jul 30 Python
Flask项目中实现短信验证码和邮箱验证码功能
Dec 05 Python
python实现学生成绩测评系统
Jun 22 Python
使用tensorflow根据输入更改tensor shape
Jun 23 Python
python3排序的实例方法
Oct 20 Python
Python常用扩展插件使用教程解析
Nov 02 Python
pytest进阶教程之fixture函数详解
Mar 29 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实现多图上传和单图上传功能
2018/05/17 PHP
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
仅30行代码实现Javascript中的MVC
2016/02/15 Javascript
去除字符串左右两边的空格(实现代码)
2016/05/12 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
2016/11/18 Javascript
浅谈js算法和流程控制
2016/12/29 Javascript
基于JavaScript 性能优化技巧心得(分享)
2017/12/11 Javascript
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
详解bootstrap-fileinput文件上传控件的亲身实践
2019/03/21 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
vue 如何使用递归组件
2020/10/23 Javascript
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
python字典DICT类型合并详解
2017/08/17 Python
Python字典操作详细介绍及字典内建方法分享
2018/01/04 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
QML使用Python的函数过程解析
2019/09/26 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
使用python求斐波那契数列中第n个数的值示例代码
2020/07/26 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
Servlet都有哪些方法?主要作用是什么?
2014/03/04 面试题
会计实习生自我鉴定
2013/12/12 职场文书
教师学习培训邀请函
2014/02/04 职场文书
总经理检讨书
2014/09/15 职场文书
创先争优宣传标语
2014/10/08 职场文书
初中差生评语
2014/12/29 职场文书
七一建党节慰问信
2015/02/14 职场文书
评职称个人总结
2015/03/05 职场文书
电影焦裕禄观后感
2015/06/09 职场文书
2015重阳节座谈会主持词
2015/07/30 职场文书
大学生村官工作心得体会
2016/01/23 职场文书
导游词之黄果树瀑布
2019/09/20 职场文书
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS