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中的各种函数的使用
May 24 Python
Python的Django框架中的Context使用
Jul 15 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
Apr 11 Python
Python上下文管理器和with块详解
Sep 09 Python
Python中py文件引用另一个py文件变量的方法
Apr 29 Python
django静态文件加载的方法
May 20 Python
python如何制作缩略图
Apr 30 Python
浅析Python3 pip换源问题
Jan 06 Python
使用Pyhton 分析酒店针孔摄像头
Mar 04 Python
python实现一次性封装多条sql语句(begin end)
Jun 06 Python
哪些是python中web开发框架
Jun 17 Python
Python实现简单猜数字游戏
Feb 03 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 管理系统程序中的后门
2009/08/05 PHP
Wordpress php 分页代码
2009/10/21 PHP
奉献出一个封装的curl函数 便于调用(抓数据专用)
2013/07/22 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
2014/11/28 PHP
php获取文件名称和扩展名的方法
2017/02/07 PHP
php调用云片网接口发送短信的实现方法
2017/10/25 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
取键盘键位ASCII码的网页
2007/07/30 Javascript
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
Bootstrap的基本应用要点浅析
2016/12/19 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
vue-router之nuxt动态路由设置的两种方法小结
2018/09/26 Javascript
Python中的FTP通信模块ftplib的用法整理
2016/07/08 Python
Python面向对象特殊成员
2017/04/24 Python
20个常用Python运维库和模块
2018/02/12 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
Python构建图像分类识别器的方法
2019/01/12 Python
Python GUI编程 文本弹窗的实例
2019/06/11 Python
浅析python redis的连接及相关操作
2019/11/07 Python
Linux下升级安装python3.8并配置pip及yum的教程
2020/01/02 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
2020/03/13 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
DJI全球:DJI Global
2021/03/15 全球购物
怎样客观的做好自我评价
2013/12/28 职场文书
国际残疾人日广播稿范文
2014/10/09 职场文书
Element实现动态表格的示例代码
2021/08/02 Javascript