formate在python_python的format方法
format的使用格式:'{}'.format() '{}...{}'.format(*args,**kwargs)
{replacement_field}的格式:
replacement_field包括[field_name][!conversion][:format_spec]三部分
field_name 空,则顺序对应位置参数;或按指定的args_number、下标、kwargs_name对应()中传 入的参数
!conversion !r,!s,!a !r输出acsii格式 !s输出字符串格式 !a输出数值格式
:format_spec的格式:
:[fill填充][align对齐][sign正负数符号][#][0][width数字宽度][,][.precision小数位数][type数值类型]
fill 可以填写任何字符
align 是右对齐,^是居中对齐
sign sign是符号, +表示正号,-表示负号
width 是数字宽度,表示总共输出多少位数字
precision 是小数保留位数
type 是输出数字值的表示方式,b表示是二进制,o表示八进制,d表示十进制,x表示十六进制,E表示指数,f表示浮点数
“b” | “c” | “d” | “e” | “E” | “f” | “F” | “g” | “G” | “n” | “o” | “s” | “x” | “X” | “%”
应用:通过位置来填充字符串1
2
3'{0} is sunday,{0} is Feb 10! {1} is shinning!'.format('today','Tommrow')Out[131]:'today is monday,today is Feb,10!tomrrow is shining!'
format会把参数按位置顺序来填充到字符串中,第一个参数是0,然后1 ……
也可以不输入数字,这样也会按顺序来填充。同一个参数可以填充多次。
2.通过key来填充
1print'hello {name1} i am {name2}'.format(name1='Kevin',name2='Tom')# hello Kevin i am Tom
3.通过下标填充
1
2
3names=['Kevin','Tom']'hello {names[0]} i am {names[1]}'.format(names=names)hello Kevin i am Tom
'hello {0[0]} i am {0[1]}'.format(names)hello Kevin i am Tom
4.通过字典的key
1
2names={'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
5classNames():
name1='Kevin'
name2='Tom'
print'hello {names.name1} i am {names.name2}'.format(names=Names)
hello Kevin i am Tom
6.使用魔法参数
1
2
3args=['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'{{ hello {0} }}'.format('Kevin')
{ hello Kevin }
跟%中%%转义%一样,formate中用两个大括号来转义
2.format作为函数
1
2f='hello {0} i am {1}'.format
printf('Kevin','Tom')
3.格式化datetime
1
2now=datetime.now()
print'{:%Y-%m-%d %X}'.format(now)
4.{}内嵌{}
1print'hello {0:>{1}} '.format('Kevin',50)
5.叹号的用法
!后面可以加s r a 分别对应str() repr() ascii()
作用是在填充前先用对应的函数来处理参数
1
2print"{!s}".format('2')#
2
print"{!r}".format('2')# '2'
差别就是repr带有引号,str()是面向用户的,目的是可读性,repr()是面向Python解析器的,返回值表示在python内部的含义
formate在python_python的format方法相关推荐
- python中str.format用法_详解Python中的str.format方法
字符串的内置方法大致有40来个,但是一些常用的其实就那么20几个,而且里面还有类似的用法,区分度高比如:isalpha,isalnum,isdigit,还有一些无时不刻都会用到的split切分,joi ...
- String.Format()方法
String.Format方法是我们在.Net应用开发时经常使用到的,它的灵活使用有时能够达到事半功倍的效果,下面我们就借用MSDN上的一个示例来向大家展示String.Format的各种用法. 该示 ...
- 实现Date函数属性中的format方法
js中没有Date.format方法的,所以在date属性中加format方法 //js格式化属性 Date.prototype.format = function (format) { var o ...
- python基础语法手册format-Python-输出格式化format()方法的基本使用(2)
本文章主要讲述Python中输出函数里格式化输出<.format()>的使用方法. 任何人可对专栏内容进行任意复制和转载,且无需注明文章作者,出处,来源. 接上次的继续讲,没看过的可以去看 ...
- String.format()方法使用说明
2019独角兽企业重金招聘Python工程师标准>>> JDK1.5开始String类中提供了一个非常有用的方法String.format(String format, Object ...
- java字符串格式化:String.format()方法的使用
String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的读者应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重载形式. l ...
- Java时间处理类SimpleDateFormat的parse和format方法的正确使用
Java中怎么才能把日期转换成想要的格式呢,或把字符串转换成一定格式的日期,如把数据库中的日期或时间转换成自己想要的格式,JAVA中提供了SimpleDateFormat类可以实现. SimpleDa ...
- python3精要(6)-string类的format()方法
使用string类的format()方法 Python3内置的string类提供了format()方法,可进行复杂变量替换和值格式化,该函数返回字符串的副本,其中每个替换字段被替换为相应参数的字符串值 ...
- Java黑皮书课后题第6章:6.37(格式化整数)编写一个测试程序,提示用户输入一个数字以及宽度,显示通过调用format方法返回的字符串
6.37(格式化整数)编写一个测试程序,提示用户输入一个数字以及宽度,显示通过调用format方法返回的字符串 题目 题目描述 破题 代码 运行示例 题目 题目描述 6.37(格式化整数) 使用下面的 ...
最新文章
- GZip压缩与解压缩
- Survey | 多任务学习综述
- java gpio_Java控制树莓派GPIO口-Pi4J
- 【00】设计模式概要
- 自己写的thinkphp自动生成类
- 数组翻转_算法系列之翻转单词顺序
- 有一次去校内的某个礼堂看电影,在门口有个长得很斯文的陌生人一脸神秘地跟我说:师弟,能不能进去之后,把电影票从厕所的气窗扔出来给我……...
- Android之IPC通信中的UID和PID识别
- nginx php fpm 日志,nginx下php-fpm不记录php报错日志怎么办?
- php 缩略图不失真,c#生成缩略图不失真的方法实例分享
- linux apache tomcat ajp,Linux下apache tomcat ajp session複製
- CentOS下FastDFS+Nginx(单点部署)事例
- [Hive] Hive表压缩
- CCS 5.5以上版本添加软件仿真(Simulation)功能,并通过两个demo(软件仿真实例)验证
- Honeyview 漫画阅读器 v5.30.zip 下载
- 高斯日记python实现
- 旅行商问题(Traveling Salesman Problem,TSP)的+Leapms线性规划模型及c++调用
- 77_Qt_承接【75】解决表格tableWidget添加行、列,删除行、列,以及下拉框comboBox动态跟随变化问题【难点:removeItem、addItem所需参数不同】
- 福利放送 | 免费赠送《校园招聘实践指南》电子书
- 暴雪战网服务器维护时间,暴雪战网登录不上去2021