python format 格式化输出方法

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 格式化输出方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python中字符串格式化str.format的详细介绍

    前言 Python 在 2.6 版本中新加了一个字符串格式化方法: str.format() .它的基本语法是通过 {} 和 : 来代替以前的 %.. 格式化时的占位符语法: replacement_field ::= "{" [field_name] ["!" conversion] [":" format_spec] "}" "映射"规则 通过位置 str.format() 可以接受不限个参数,位置可以

  • python的格式化输出(format,%)实例详解

    皇城PK Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是format这根本就不算个问题.不信你往下看. # 定义一个坐标值 c = (250, 250) # 使用%来格式化 s1 = "敌人坐标:%s" % c 上面的代码很明显会抛出一个如下的TypeError: TypeError: not all arguments converted during string f

  • Python中用format函数格式化字符串的用法

    自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足.那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱. 语法 它通过{}和:来代替%. "映射"示例 通过位置 In [1]: '{0},{1}'.format('kzc',18) Out[1]: 'kzc,18' In [2]: '{},{}'.format('kzc',18) Out[2]: 'kzc,18' In [3]: '{1},{0},{1}'.fo

  • 浅谈Python 字符串格式化输出(format/printf)

    Python 字符串格式化使用 "字符 %格式1 %格式2 字符"%(变量1,变量2),%格式表示接受变量的类型.简单的使用例子如下: # 例:字符串格式化 Name = '17jo'   print 'www.%s.com'%Name   >> www.17jo.com Name = '17jo' Zone = 'com' print 'www.%s.%s'%(Name,Zone) >> www.17jo.com 字符串格式化时百分号后面有不同的格式符号,代表

  • Python中format()格式输出全解

    格式化输出:format() format():把传统的%替换为{}来实现格式化输出 1.使用位置参数:就是在字符串中把需要输出的变量值用{}来代替,然后用format()来修改使之成为想要的字符串,位置参数就是把传统的%改为{},按照位置顺序自动进行替换 'My name is {},age:{}'.format('Anxc',18) 'My name is Anxc,age:18' 2.使用位置参数:在原有基础上,通过位置的改变来让替换的值根据位置改变(自我感觉没什么用,还不如第一个好用)

  • Python中格式化format()方法详解

     Python中格式化format()方法详解 Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法; Python是完全面向对象的语言, 任何东西都是对象; 字符串的参数使用{NUM}进行表示,0, 表示第一个参数,1, 表示第二个参数, 以后顺次递加; 使用":", 指定代表元素需要的操作, 如":.3"小数点三位, ":8"占8个字符空间等; 还可以添加特定的字母, 如: 'b' - 二进制. 将数字以2为基

  • Python格式化输出字符串方法小结【%与format】

    python格式化字符串有%和{}两种 字符串格式控制符. 字符串输入数据格式类型(%格式操作符号) %% 百分号标记#就是输出一个% %c 字符及其ASCII码 %s 字符串 %d 有符号整数(十进制) %u 无符号整数(十进制) %o 无符号整数(八进制) %x 无符号整数(十六进制) %X 无符号整数(十六进制大写字符) %e 浮点数字(科学计数法) %E 浮点数字(科学计数法,用E代替e) %f 浮点数字(用小数点符号) %g 浮点数字(根据值的大小采用%e或%f) %G 浮点数字(类似

  • Python中str.format()详解

    1. str.format 的引入 在 Python 中,我们可以使用 + 来连接字符串,在简单情况下这种方式能够很好的工作.但是当我们需要进行复杂的字符串连接时,如果依然使用 + 来完成,不仅会使代码变得晦涩难懂,还会让代码变得难以维护,此时这种方式就显得力不从心了. 例如,我们想打印这样一条记录: User:John has completed Action:payment at Time:13:30:00 如果使用加号实现,会是下面这种形式: print "User:" + us

  • Python常见格式化字符串方法小结【百分号与format方法】

    本文实例讲述了Python常见格式化字符串方法.分享给大家供大家参考,具体如下: [方式一]百分号(%)方式,类C的printf,需要分别不同类型. 1.匿名tuple.(推荐在参数少时用) >>> '姓名:%s, 年龄:%d' % ('walker', 99) '姓名:walker, 年龄:99' 2.命名dict,字典的key可以重用. >>> '姓名:%(name)s, 年龄:%(age)d, 工龄:%(age)d' % {'name':'walker', 'ag

  • python format 格式化输出方法

    0.前言 在python2.7及以上的版本,str.format()的方式为格式化提供了非常大的便利.与之前的%型格式化字符串相比,他显得更为方便与优越.下面我们就来看看format的具体用法. 1.常见的用法 二话不说,首先上代码,看看format的一些常用方法. print "{:.2f}".format(3.1415926) #3.14,保留小数点后两位 print "{:+.2f}".format(3.1415926) #+3.14 带符号保留小数点后两位

  • Python format()格式化输出方法

    自 Python 2.6 版本开始,字符串类型(str)提供了 format() 方法对字符串进行格式化,本节就来学习此方法. format() 方法的语法格式如下: str.format(args) 此方法中,str 用于指定字符串的显示样式:args 用于指定要进行格式转换的项,如果有多项,之间有逗号进行分割. 学习 format() 方法的难点,在于搞清楚 str 显示样式的书写格式.在创建显示样式模板时,需要使用{}和:来指定占位符,其完整的 语法格式为: { [index][ : [

  • Python字符串格式化输出方法分析

    本文实例分析了Python字符串格式化输出方法.分享给大家供大家参考,具体如下: 我们格式化构建字符串可以有3种方法: 1 元组占位符 m = 'python' astr = 'i love %s' % m print astr 2 字符串的format方法 m = 'python' astr = "i love {python}".format(python=m) print astr 3 字典格式化字符串 m = 'python' astr = "i love %(pyt

  • Python实现小数转化为百分数的格式化输出方法示例

    本文实例讲述了Python实现小数转化为百分数的格式化输出方法.分享给大家供大家参考,具体如下: 比如将 0.1234 转化为 12.34% 的形式: rate = .1234 print('%.2f%%' % (rate * 100)) 第一个百分号和 .2f 相连,表示浮点数类型保留小数点后两位格式化输出: 然后的两个连续的%%,则最终会输出一个%号出来,有对%进行转义的含义: 将小数(数值)转化为字符串,并赋给其他变量: rate = .1 res = format(res, '.0%')

  • python中的格式化输出方法

    目录 1使用字符串模运算符(%)格式化输出 2使用format方法格式化输出 ​3使用String方法格式化输出 前言: 有几种方法可以显示程序的输出. 数据可以以人类可读的形式打印,或写入文件以供将来使用,甚至可以以某种其他指定的形式. 用户通常希望对输出格式进行更多控制,而不是简单地打印以空格分隔的值. 有几种方法可以格式化输出. 要使用格式化字符串文字,请在左引号或三引号之前以 f 或 F 开始字符串. 字符串的format() 方法可帮助用户创建更精美的输出. 用户可以通过使用字符串切片

  • Python数据库格式化输出文档的思路与方法

    问题 如果文案格式是统一的,是否可以通过Python格式化输出doc/md的文档? 能用代码搞定的,尽力不手工 思路 首先,数据已经录入库,需要python能读取数据库,可使用mysql-connector 其次,格式化输出的文档,肯定需要文件读写操作,需使用os 接着,考虑到各大平台多数支持markdown格式,优先输出md格式文档.若输出doc,需使用docx 补充,python一键执行,分页数据操作,接收外部参数,需使用sys 编码 分页获取数据库内容 import mysql.conne

  • Python实现格式化输出的实例详解

    目录 一.format格式输出字符串 二.format格式输出字符串实例 实例1.网站名称 实例2.数值格式化为不同的形式 实例3.{}中不设参数 实例4. {}中设参数 实例5.str.format() 格式化数字 三.%格式化输出实例 实例3.1.整数的输出 实例3.2. 浮点数输出 实例3.3.字符串输出 实例3.4.格式化输出用户信息 四.完整程序 一.format格式输出字符串 使用 % 操作符对各种类型的数据进行格式化输出,这是早期 Python提供的方法. 字符串类型(str)提供

随机推荐