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方法相关推荐

  1. python中str.format用法_详解Python中的str.format方法

    字符串的内置方法大致有40来个,但是一些常用的其实就那么20几个,而且里面还有类似的用法,区分度高比如:isalpha,isalnum,isdigit,还有一些无时不刻都会用到的split切分,joi ...

  2. String.Format()方法

    String.Format方法是我们在.Net应用开发时经常使用到的,它的灵活使用有时能够达到事半功倍的效果,下面我们就借用MSDN上的一个示例来向大家展示String.Format的各种用法. 该示 ...

  3. 实现Date函数属性中的format方法

    js中没有Date.format方法的,所以在date属性中加format方法 //js格式化属性 Date.prototype.format = function (format) { var o ...

  4. python基础语法手册format-Python-输出格式化format()方法的基本使用(2)

    本文章主要讲述Python中输出函数里格式化输出<.format()>的使用方法. 任何人可对专栏内容进行任意复制和转载,且无需注明文章作者,出处,来源. 接上次的继续讲,没看过的可以去看 ...

  5. String.format()方法使用说明

    2019独角兽企业重金招聘Python工程师标准>>> JDK1.5开始String类中提供了一个非常有用的方法String.format(String format, Object ...

  6. java字符串格式化:String.format()方法的使用

    String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的读者应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重载形式. l    ...

  7. Java时间处理类SimpleDateFormat的parse和format方法的正确使用

    Java中怎么才能把日期转换成想要的格式呢,或把字符串转换成一定格式的日期,如把数据库中的日期或时间转换成自己想要的格式,JAVA中提供了SimpleDateFormat类可以实现. SimpleDa ...

  8. python3精要(6)-string类的format()方法

    使用string类的format()方法 Python3内置的string类提供了format()方法,可进行复杂变量替换和值格式化,该函数返回字符串的副本,其中每个替换字段被替换为相应参数的字符串值 ...

  9. Java黑皮书课后题第6章:6.37(格式化整数)编写一个测试程序,提示用户输入一个数字以及宽度,显示通过调用format方法返回的字符串

    6.37(格式化整数)编写一个测试程序,提示用户输入一个数字以及宽度,显示通过调用format方法返回的字符串 题目 题目描述 破题 代码 运行示例 题目 题目描述 6.37(格式化整数) 使用下面的 ...

最新文章

  1. GZip压缩与解压缩
  2. Survey | 多任务学习综述
  3. java gpio_Java控制树莓派GPIO口-Pi4J
  4. 【00】设计模式概要
  5. 自己写的thinkphp自动生成类
  6. 数组翻转_算法系列之翻转单词顺序
  7. 有一次去校内的某个礼堂看电影,在门口有个长得很斯文的陌生人一脸神秘地跟我说:师弟,能不能进去之后,把电影票从厕所的气窗扔出来给我……...
  8. Android之IPC通信中的UID和PID识别
  9. nginx php fpm 日志,nginx下php-fpm不记录php报错日志怎么办?
  10. php 缩略图不失真,c#生成缩略图不失真的方法实例分享
  11. linux apache tomcat ajp,Linux下apache tomcat ajp session複製
  12. CentOS下FastDFS+Nginx(单点部署)事例
  13. [Hive] Hive表压缩
  14. CCS 5.5以上版本添加软件仿真(Simulation)功能,并通过两个demo(软件仿真实例)验证
  15. Honeyview 漫画阅读器 v5.30.zip 下载
  16. 高斯日记python实现
  17. 旅行商问题(Traveling Salesman Problem,TSP)的+Leapms线性规划模型及c++调用
  18. 77_Qt_承接【75】解决表格tableWidget添加行、列,删除行、列,以及下拉框comboBox动态跟随变化问题【难点:removeItem、addItem所需参数不同】
  19. 福利放送 | 免费赠送《校园招聘实践指南》电子书
  20. 暴雪战网服务器维护时间,暴雪战网登录不上去2021

热门文章

  1. 金水智能汽车5G-V2X车路协同安全测试认证基地项目招标文件
  2. 聊聊追求测试技术导致过度测试
  3. Windows下UI自动化工具Inspect
  4. Unity 2D动画控制器详解
  5. 提早两天向同事发新年祝福
  6. 华为交换机查看端口对应的oid索引值
  7. 华为手机如何安装google play, chrome等
  8. iphone中怎么添加邮箱_如何在iPhone的Gmail中添加附件
  9. 关于拉流端ts时间切片问题导致的直播黑屏问题
  10. 吃鸡空投掉落射线检测,粒子系统产生红色信号烟