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 21 Python
简单谈谈Python中的几种常见的数据类型
Feb 10 Python
Scrapy框架使用的基本知识
Oct 21 Python
python 实现批量xls文件转csv文件的方法
Oct 23 Python
python使用 cx_Oracle 模块进行查询操作示例
Nov 28 Python
django框架F&amp;Q 聚合与分组操作示例
Dec 12 Python
Django模板标签{% for %}循环,获取制定条数据实例
May 14 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
Sep 21 Python
Python之字典对象的几种创建方法
Sep 30 Python
Numpy实现卷积神经网络(CNN)的示例
Oct 09 Python
解决Pytorch半精度浮点型网络训练的问题
May 24 Python
Python爬取英雄联盟MSI直播间弹幕并生成词云图
Jun 01 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/01 无线电
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
2010/02/09 PHP
PHP IPV6正则表达式验证代码
2010/02/16 PHP
PHP多线程抓取网页实现代码
2010/07/22 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
php中防止SQL注入的最佳解决方法
2013/04/25 PHP
PHP删除数组中特定元素的两种方法
2013/07/02 PHP
php实现多城市切换特效
2015/08/09 PHP
php解决DOM乱码的方法示例代码
2016/11/20 PHP
firefo xml 读写实现js代码
2009/06/11 Javascript
菜鸟javascript基础资料整理2
2010/12/06 Javascript
JavaScript实现查找字符串中第一个不重复的字符
2014/12/29 Javascript
理解javascript中try...catch...finally
2015/12/25 Javascript
TypeOf这些知识点你了解吗
2016/02/21 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
2017/03/29 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
浅谈React中组件逻辑复用的那些事儿
2020/05/21 Javascript
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
python3图片转换二进制存入mysql
2013/12/06 Python
python处理“
2019/06/10 Python
python中对数据进行各种排序的方法
2019/07/02 Python
python 利用turtle模块画出没有角的方格
2019/11/23 Python
Python 将 QQ 好友头像生成祝福语的实现代码
2020/05/03 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
小班上学期评语
2014/05/05 职场文书
财政局党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
2015元旦标语横幅
2014/12/09 职场文书
跑出一片天观后感
2015/06/08 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
解决goland 导入项目后import里的包报红问题
2021/05/06 Golang