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利用pyHook实现监听用户鼠标与键盘事件
Aug 21 Python
零基础写python爬虫之urllib2使用指南
Nov 05 Python
python字符串的常用操作方法小结
May 21 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
Nov 16 Python
Python中字典的setdefault()方法教程
Feb 07 Python
遗传算法之Python实现代码
Oct 10 Python
python中使用psutil查看内存占用的情况
Jun 11 Python
python对常见数据类型的遍历解析
Aug 27 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
Sep 17 Python
Django models filter筛选条件详解
Mar 16 Python
Python排序算法之插入排序及其优化方案详解
Jun 11 Python
Python面向对象编程之类的概念
Nov 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
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
CI框架实现优化文件上传及多文件上传的方法
2017/01/04 PHP
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
thinkPHP多表查询及分页功能实现方法示例
2017/07/03 PHP
PHP共享内存使用与信号控制实例分析
2018/05/09 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
jquery鼠标停止移动事件
2013/12/21 Javascript
nodejs文件操作模块FS(File System)常用函数简明总结
2014/06/05 NodeJs
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
2018/12/27 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
CSS3 仿微信聊天小气泡实例代码
2017/04/05 HTML / CSS
HTML5实现QQ聊天气泡效果
2017/06/26 HTML / CSS
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
幼儿园托班开学寄语
2014/01/18 职场文书
《果园机器人》教学反思
2014/04/13 职场文书
社会治安综合治理责任书
2015/01/29 职场文书
全国法制宣传日活动总结
2015/05/05 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书
Docker部署Mysql8的实现步骤
2022/07/07 Servers