format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点。

1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型

2.单个参数可以多次输出,参数顺序可以不相同

3.填充方式十分灵活,对齐方式十分强大

4.官方推荐用的方式,%方式将会在后面的版本被淘汰

format的一个例子

1

print"hello {0}".format("world")

会输出hello world

format的格式

replacement_field ::= “{” [field_name] [“!” conversion] [“:” format_spec] “}”

field_name ::= arg_name (“.” attribute_name | “[” element_index “]”)*

arg_name ::= [identifier | integer]

attribute_name ::= identifier

element_index ::= integer | index_string

index_string ::= +

conversion ::= “r” | “s” | “a”

format_spec ::=

format_spec 的格式

format_spec   ::=   [[fill]align][sign][#][0][width][,][.precision][type]

fill      ::=   

align     ::=   ”<” | “>” | “=” | “^”

sign      ::=   ”+” | “-” | ” “

width      ::=    integer

precision     ::=    integer

type     ::=   ”b” | “c” | “d” | “e” | “E” | “f” | “F” | “g” | “G” | “n” | “o” | “s” | “x” | “X” | “%”

应用:

一 填充

1.通过位置来填充字符串

1

2

3

print"hello {0} i am {1}".format("Kevin","Tom")# hello Kevin i am Tom

print"hello {} i am {}".format("Kevin","Tom")# hello Kevin i am Tom

print"hello {0} i am {1} . my name is {0}".format("Kevin","Tom")# hello Kevin i am Tom . my name is Kevin

foramt会把参数按位置顺序来填充到字符串中,第一个参数是0,然后1 ……

也可以不输入数字,这样也会按顺序来填充

同一个参数可以填充多次,这个是format比%先进的地方

2.通过key来填充

1

print"hello {name1} i am {name2}".format(name1="Kevin",name2="Tom")# hello Kevin i am Tom

3.通过下标填充

1

2

3

names=["Kevin","Tom"]

print"hello {names[0]} i am {names[1]}".format(names=names)# hello Kevin i am Tom

print"hello {0[0]} i am {0[1]}".format(names)# hello Kevin i am Tom

4.通过字典的key

1

2

names={"name":"Kevin","name2":"Tom"}

print"hello {names[name]} i am {names[name2]}".format(names=names)# hello Kevin i am Tom

注意访问字典的key,不用引号的

5.通过对象的属性

1

2

3

4

5

classNames():

name1="Kevin"

name2="Tom"

print"hello {names.name1} i am {names.name2}".format(names=Names)# hello Kevin i am Tom

6.使用魔法参数

1

2

3

args=["lu"]

kwargs={"name1":"Kevin","name2":"Tom"}

print"hello {name1} {} i am {name2}".format(*args,**kwargs)# hello Kevin i am Tom

二 格式转换

b、d、o、x分别是二进制、十进制、八进制、十六进制。

数字

格式

输出

描述

3.1415926

{:.2f}

3.14

保留小数点后两位

3.1415926

{:+.2f}

3.14

带符号保留小数点后两位

-1

{:+.2f}

-1

带符号保留小数点后两位

2.71828

{:.0f}

3

不带小数

1000000

{:,}

1,000,000

以逗号分隔的数字格式

0.25

{:.2%}

25.00%

百分比格式

1000000000

{:.2e}

1.00E+09

指数记法

25

{0:b}

11001

转换成二进制

25

{0:d}

25

转换成十进制

25

{0:o}

31

转换成八进制

25

{0:x}

19

转换成十六进制

三 对齐与填充

数字

格式

输出

描述

5

{:0>2}

05

数字补零 (填充左边, 宽度为2)

5

{:x<4}

5xxx

数字补x (填充右边, 宽度为4)

10

{:x^4}

x10x

数字补x (填充右边, 宽度为4)

13

{:10}

13

右对齐 (默认, 宽度为10)

13

{:<10}

13

左对齐 (宽度为10)

13

{:^10}

13

中间对齐 (宽度为10)

四 其他

1.转义{和}符号

1

print"{{ hello {0} }}".format("Kevin")

跟%中%%转义%一样,formate中用两个大括号来转义

2.format作为函数

1

2

f="hello {0} i am {1}".format

printf("Kevin","Tom")

3.格式化datetime

1

2

now=datetime.now()

print"{:%Y-%m-%d %X}".format(now)

4.{}内嵌{}

1

print"hello {0:>{1}} ".format("Kevin",50)

5.叹号的用法

!后面可以加s r a 分别对应str() repr() ascii()

作用是在填充前先用对应的函数来处理参数

1

2

print"{!s}".format("2")# 2

print"{!r}".format("2")# "2"

差别就是repr带有引号,str()是面向用户的,目的是可读性,repr()是面向Python解析器的,返回值表示在python内部的含义

ascii()一直报错,可能这个是3.0才有的函数

参考:https://docs.python.org/3/library/string.html#grammar-token-conversion

python中的format什么意思中文-Python中format的用法相关推荐

  1. python中的format什么意思中文-Python中format()格式输出全解

    格式化输出:format() format():把传统的%替换为{}来实现格式化输出 1.使用位置参数:就是在字符串中把需要输出的变量值用{}来代替,然后用format()来修改使之成为想要的字符串, ...

  2. python中的format什么意思中文-python的format什么意思

    format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点. 1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型(推荐学习:Python视频教程) ...

  3. python中的format什么意思中文-python里format什么意思

    format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点. 1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型(推荐学习:Python视频教程) ...

  4. python中的format什么意思中文-Python中.format()常见的用法

    format()格式化输出 format():把传统的%替换为{}来实现格式化输出 format()常见的用法: '{}{}'.format('123', '456') >>>'12 ...

  5. python中的format什么意思中文-python中format函数什么意思

    python中format函数什么意思? Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % ...

  6. python中in是什么意思中文_python中的in是什么意思

    in在Python中是操作符,具体来说是成员操作符.就是对于序列(字符串,元组,列表)或集合(set)或映射(字典)这些数据类型做成员判断,自然成员判断的返回是在其中和不在其中,用Python的说法就 ...

  7. python中print是什么意思中文-python中使用print输出中文的方法

    看Python简明教程,学习使用print打印字符串,试了下打印中文,不行. 编辑环境:IDLE 上网搜了下解决办法,各种说法,试了两种: print u"学习" print (u ...

  8. python中item是什么意思中文-Python中items()系列函数的用法详解

    这篇文章主要介绍了Python中dictionary items()系列函数的用法,很实用的函数,需要的朋友可以参考下 本文实例讲述了Python中dictionary items()系列函数的用法, ...

  9. python中item是什么意思中文-Python中使用item()方法遍历字典的例子

    Python字典的遍历方法有好几种,其中一种是for...in,这个我就不说明,在Python了几乎随处都可见for...in.下面说的这种遍历方式是item()方法. item() item()方法 ...

最新文章

  1. 《看透SpringMVC》第十二章 HandlerMapping
  2. 斐波那契数列取模(大数)分治算法
  3. C++中的默认初始化
  4. RPM方式安装MySQL5.6
  5. docker 打包_Springboot2.0学习11 使用maven插件打包docker部署应用
  6. python3 Connection aborted.', RemoteDisconnected('Remote end closed connection without response'
  7. bzoj千题计划259:bzoj3122: [Sdoi2013]随机数生成器
  8. IE11不支持Selenium 2.0的解决方法
  9. matlab 汽车雷达模拟器,雷达回波模拟器在汽车雷达测试中的应用
  10. 如何对apk文件进行反编译
  11. 图文详解win7实现局域网共享文件
  12. space-between时尾行排版优化
  13. 详解标准方程法(内含公式推导和代码)
  14. Kindle 可旋转桌面时钟
  15. 容联携手火星时代教育 促进线上线下一体化
  16. ext2 grid 封装 (包含增删改查 导入导出等操作)
  17. UAC协议基础第一篇: UAC类设备相关的描述符
  18. Numpy 函数解释:numpy.random.normal()
  19. VCM绕线机的功能参数
  20. 开发一个看电影资讯的VSCode插件

热门文章

  1. POJ 2449 Remmarguts' Date(k短路模板)
  2. Spring Hiernate整合
  3. HTML5之Javascript多线程
  4. Requirejs快速使用
  5. 【转】Silverlight全开源工作流设计器
  6. opengl 反走样 混合 多重采样 blend multisample
  7. 创建数据源(ODBC)
  8. Niblack二值化方法的实现
  9. python初学者可以做的金融小程序-Python入门 —— 用pycharm写一个简单的小程序3...
  10. python恶搞表情包-哈哈!我用 Python 把你的朋友变成表情包了