python中的format什么意思中文-Python中format的用法
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的用法相关推荐
- python中的format什么意思中文-Python中format()格式输出全解
格式化输出:format() format():把传统的%替换为{}来实现格式化输出 1.使用位置参数:就是在字符串中把需要输出的变量值用{}来代替,然后用format()来修改使之成为想要的字符串, ...
- python中的format什么意思中文-python的format什么意思
format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点. 1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型(推荐学习:Python视频教程) ...
- python中的format什么意思中文-python里format什么意思
format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点. 1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型(推荐学习:Python视频教程) ...
- python中的format什么意思中文-Python中.format()常见的用法
format()格式化输出 format():把传统的%替换为{}来实现格式化输出 format()常见的用法: '{}{}'.format('123', '456') >>>'12 ...
- python中的format什么意思中文-python中format函数什么意思
python中format函数什么意思? Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % ...
- python中in是什么意思中文_python中的in是什么意思
in在Python中是操作符,具体来说是成员操作符.就是对于序列(字符串,元组,列表)或集合(set)或映射(字典)这些数据类型做成员判断,自然成员判断的返回是在其中和不在其中,用Python的说法就 ...
- python中print是什么意思中文-python中使用print输出中文的方法
看Python简明教程,学习使用print打印字符串,试了下打印中文,不行. 编辑环境:IDLE 上网搜了下解决办法,各种说法,试了两种: print u"学习" print (u ...
- python中item是什么意思中文-Python中items()系列函数的用法详解
这篇文章主要介绍了Python中dictionary items()系列函数的用法,很实用的函数,需要的朋友可以参考下 本文实例讲述了Python中dictionary items()系列函数的用法, ...
- python中item是什么意思中文-Python中使用item()方法遍历字典的例子
Python字典的遍历方法有好几种,其中一种是for...in,这个我就不说明,在Python了几乎随处都可见for...in.下面说的这种遍历方式是item()方法. item() item()方法 ...
最新文章
- 《看透SpringMVC》第十二章 HandlerMapping
- 斐波那契数列取模(大数)分治算法
- C++中的默认初始化
- RPM方式安装MySQL5.6
- docker 打包_Springboot2.0学习11 使用maven插件打包docker部署应用
- python3 Connection aborted.', RemoteDisconnected('Remote end closed connection without response'
- bzoj千题计划259:bzoj3122: [Sdoi2013]随机数生成器
- IE11不支持Selenium 2.0的解决方法
- matlab 汽车雷达模拟器,雷达回波模拟器在汽车雷达测试中的应用
- 如何对apk文件进行反编译
- 图文详解win7实现局域网共享文件
- space-between时尾行排版优化
- 详解标准方程法(内含公式推导和代码)
- Kindle 可旋转桌面时钟
- 容联携手火星时代教育 促进线上线下一体化
- ext2 grid 封装 (包含增删改查 导入导出等操作)
- UAC协议基础第一篇: UAC类设备相关的描述符
- Numpy 函数解释:numpy.random.normal()
- VCM绕线机的功能参数
- 开发一个看电影资讯的VSCode插件
热门文章
- POJ 2449 Remmarguts' Date(k短路模板)
- Spring Hiernate整合
- HTML5之Javascript多线程
- Requirejs快速使用
- 【转】Silverlight全开源工作流设计器
- opengl 反走样 混合 多重采样 blend multisample
- 创建数据源(ODBC)
- Niblack二值化方法的实现
- python初学者可以做的金融小程序-Python入门 —— 用pycharm写一个简单的小程序3...
- python恶搞表情包-哈哈!我用 Python 把你的朋友变成表情包了