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解析中国天气网的天气数据
Mar 21 Python
跟老齐学Python之赋值,简单也不简单
Sep 24 Python
Python遍历文件夹和读写文件的实现方法
May 10 Python
Python基于SMTP协议实现发送邮件功能详解
Aug 14 Python
Python设计模式之解释器模式原理与用法实例分析
Jan 10 Python
对Python的交互模式和直接运行.py文件的区别详解
Jun 29 Python
Python中的上下文管理器相关知识详解
Sep 19 Python
关于tf.reverse_sequence()简述
Jan 20 Python
Python编程快速上手——正则表达式查找功能案例分析
Feb 28 Python
python实现快速文件格式批量转换的方法
Oct 16 Python
利用Python网络爬虫爬取各大音乐评论的代码
Apr 13 Python
Django实现翻页的示例代码
May 24 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封装的验证码工具类完整实例
2016/10/19 PHP
PHP完全二叉树定义与实现方法示例
2017/10/09 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
laravel5.1 ajax post 传值_token示例
2019/10/24 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
JavaScript执行顺序详细介绍
2013/12/04 Javascript
javascript函数作用域学习示例(js作用域)
2014/01/13 Javascript
分享一个自己动手写的jQuery分页插件
2014/08/28 Javascript
javascript实现rgb颜色转换成16进制格式
2015/07/10 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
Angular实现响应式表单
2017/08/04 Javascript
js事件on动态绑定数据,绑定多个事件的方法
2018/09/15 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
layui use 定义js外部引用函数的方法
2019/09/26 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
2020/07/28 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
Vue通过provide inject实现组件通信
2020/09/03 Javascript
[05:31]DOTA2英雄梦之声_第04期_光之守卫
2014/06/23 DOTA
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
python3+PyQt5泛型委托详解
2018/04/24 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
pandas中apply和transform方法的性能比较及区别介绍
2018/10/30 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
使用pytorch实现可视化中间层的结果
2019/12/30 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
2020/02/27 Python
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
PHP两种查询函数array/row的区别
2013/06/03 面试题
教师个人自我鉴定
2014/02/08 职场文书
结婚保证书范文
2014/04/29 职场文书
演讲稿之我的初心我的成长
2019/08/12 职场文书
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers