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中字典创建、遍历、添加等实用操作技巧合集
Jun 02 Python
Python编写一个优美的下载器
Apr 15 Python
Python实现base64编码的图片保存到本地功能示例
Jun 22 Python
详解Python中正则匹配TAB及空格的小技巧
Jul 26 Python
tensorflow 重置/清除计算图的实现
Jan 19 Python
解决django FileFIELD的编码问题
Mar 30 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
Jun 01 Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 Python
python3.7.3版本和django2.2.3版本是否可以兼容
Sep 01 Python
python中os.remove()用法及注意事项
Jan 31 Python
PyCharm常用配置和常用插件(小结)
Feb 06 Python
Python中with上下文管理协议的作用及用法
Mar 18 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
使用eAccelerator加密PHP程序
2008/10/03 PHP
php出现web系统多域名登录失败的解决方法
2014/09/30 PHP
curl和libcurl的区别简介
2015/07/01 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
为数据添加append,remove功能
2006/10/03 Javascript
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
JavaScript 三种创建对象的方法
2009/10/16 Javascript
JS动态添加option和删除option(附实例代码)
2013/04/01 Javascript
moment.js轻松实现获取当前日期是当年的第几周
2015/02/05 Javascript
javascript模拟C#格式化字符串
2015/08/26 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
Jqprint实现页面打印
2017/01/06 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
2017/03/09 Javascript
详解JS中的柯里化(currying)
2017/08/17 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
了解javascript中变量及函数的提升
2019/05/27 Javascript
新手简单了解vue
2019/05/29 Javascript
js实现数字跳动到指定数字
2020/08/25 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
python 七种邮件内容发送方法实例
2014/04/22 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
美国背景检查、公共记录和人物搜索网站:BeenVerified
2018/02/25 全球购物
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
abstract是什么意思
2012/02/12 面试题
在职党员进社区活动总结
2014/07/05 职场文书
忠诚奉献演讲稿
2014/09/12 职场文书
2014年会计工作总结
2014/11/27 职场文书
Linux安装Nginx步骤详解
2021/03/31 Servers
Vue图片裁剪组件实例代码
2021/07/02 Vue.js