Python str format,python中str.format的输出格式用法_1

  Python str format,python中str.format的输出格式用法

  string的内置方法大致有40种,但是一些常用的方法也就20多种,里面也有类似的用法,比如:isalpha,isalnum,isdigit,还有一些split segmentation,join splicing,strip来指定字符从开始到结束,一直在用。它们的功能无非就是添加、删除和检查字符串。我认为,要把这些常用的方法讲清楚,并熟练运用,一方面需要理解。忘了没关系,要善于归纳总结,要善于‘增删查’自己的大脑记忆。

  str.format的意义:

  作为初学者,最近发现string中最复杂的方法是str.format()。格式,顾名思义,就是格式化。格式化后是干什么用的?其实就是获取我们需要的格式的数据,也就是打印格式和打印格式。起初,我们学会了使用%s和%d来实现它,但这种方法有很多局限性。例如,%s是根据打印格式的位置。局限性显而易见。如果是这样,更准确的打印格式方法是str.format()

  str.format方法介绍:

  1.用字符串中的花括号{}标识替换字段,从而完成字符串的格式化。

  2.需要替换的内容包括:字段名和格式说明符,形式一般为:{字段名:格式说明符}

  以上是介绍,以下是干货:

  具体实现:

  1、简单实现方法:

  (1)省略不写{} _ _ _ _ _像%s打印格式按位置。

  (2)数字{十进制非负整数} _ _ _ _按位置索引类似写法。

  (3)变量名{keyword} _ _ _写得像关键字参数。

  (4)可以混合使用。

  1.1 省略不写:花括号内省略不写,代表传递位置参数

  替换字段表单{}

  注意:如果花括号的个数小于或等于后面位置参数的个数,肯定会报错。

  #使用{}表示占位符,直接传递参数。

  打印(我是{},喜欢{}!。格式(“灭霸”、“打响指”))

  #我是灭霸,我喜欢打响指!

  # {}的个数必须小于后面位置参数的个数,否则会报错。

  打印(我是{},喜欢{},不喜欢{}。。格式(宙斯,放大头,空大,小短腿))

  打印(我是{},喜欢{},不喜欢{}。。格式(宙斯,放大并抓住头部))

  # error:indexerror : tupleindexoutofrange1.2 数字形式传参:通过位置索引值传递位置参数

  索引从整数0开始。

  索引可以重复引用和输出。

  索引值是将位置参数放入元组中获取值的过程,所以索引值不能大于元组中位置参数的索引值,否则会报错。

  打印(“我{0}高,只是{1}老和{2}长。”。格式(“180厘米”,18厘米,“15厘米”))

  #我身高15cm,年龄正好18,15cm长。

  Print(我身高{0},{0}不多也不少,年龄刚好{1}。。格式( 180厘米,18))

  #我身高180cm,180cm不多不少,年龄正好18。

  打印(“我{0}高,只是{1}老和{2}长。”。格式( 180厘米,18))

  # index error : tupleindexoutofrange1.3 变量名{关键字} 传递输出参数

  想想怎么传关键字参数,打个比方,宾果!

  特别是关键字的变量名在参数中不需要引号,变量名直接用{}中的引用填充。

  Print(我叫{name},其实是{career}!。格式(姓名=尹天仇,职业=演员))

  #我叫尹天仇,实际上我是个演员!

  Print(我叫{name2},也叫{name1},我弟弟叫{name3}!

  #39;.format(name1='至尊宝',name2='秦汉',name3='秦祥林'))

  #我叫秦汉,又名至尊宝,我弟弟叫秦祥林!1.4 {}、{0}、{name}混合使用

  位置参数在前,关键字参数在后

  {}不能与数字形式{0}同时使用。

  

print('吹个{0},吹个{2},吹大了{1},玩{ball}!'.format('球','气球','大气球',ball='球球'))

2、使用元组和字典传参:

 

  str.format()方法可以使用*元组和**字典的形式传参,可以混用。

  方法相当于*args和**kwargs打散传参,元组按位置或索引传参,字典按关键字传参。

  位置参数、关键字参数、*元组、**字典也可以同时使用,但要注意位置参数在关键字参数前,*元组要在**字典前。

  

#元组

使用元组或者字典格式化输出的形式就是相当于将元组和字典打散,变成位置参数们和关键字参数们然后按照前面的方法传参就行。

 

  相关推荐:《Python视频教程》

  3、对象参数格式化输出传值:

  formate还可以使用对象属性传参,这个对象可以是实例化的对象,也可以是列表、字典。

  

#对象属性传参

4、格式说明符:规定传入参数字符的格式

 

  比如:

  

print('{0:.4f}'.format(3.1415926))

说明符格式标准:[填充]对齐方式][正负号][#][0][宽度][分组选项][.精度][类型码] 同时存在是有顺序之分的,具体使用下面有具体示例:

 

  填充:

  (1)填充字符只能有一个

  (2)不指定默认用空格填充

  (3)如果指定填充字符,则必须要同时指定对齐方式

  对齐方式:

  (1)< 左对齐

  (2)> 右对齐

  (3)^ 居中对齐

  (4)= 在正负号和数字之间填充(仅对数字类型有效)可以输出类似:+00000012的字符串。

  正负号:

  (1)仅对数字类型生效

  (2)+ - 正负号

  (3)空格:正数前面需要添加一个空格,以便与负数对齐

  宽度width

  (1)不指定宽度,宽度由内容决定

  (2)宽度前有0,意味着用0填充,等价于 0=的填充和对齐方式

  精度

  (1)指小数点后面展示的小数位数。

  (2)对于非数字类型,指字段宽度。

  (3)整数类型不能指定精度,会报错的。

  下面看示例吧:

  

#在传入参数后面用冒号:写入规定的格式:.4f(取4位小数)结果为:3.1416

类型码(规定输出的数据类型)

 

  (1)字符串类型

  (2)整数类型

  (3)浮点数类型

  

#字符串类型(默认类型,忽视)

以上例子可以说不太全面,只是大概举了几个常见的,除了e,f类型还有g通用类型,n number类型,对于日常使用的话并不常用。所以不一一列出。

 

  5、其他补充:

  花括号本事如需格式化输出,可以用外套2层花括号转义解决

  

print('{{0}}'.format('abc'))#{0}

一些另类格式化输出:

 

  

fromdatetimeimportdatetime

总结:

 

  str.format()格式化输出方法可以说是%s的加强型,特别是在处理更复杂的格式化输出过程时候,可以更精确的进行达到输出目的,它集成的方法可以说比较繁杂,很多方法个人认为用处不大,仅仅是锦上添花的作用,个人认为只要掌握前面几个简单的位置参数、关键字参数、元组、字典的传参形式的格式化输出就可以了。后面的方法可以有,但是不建议进行强行记忆,因为精力有限,用时再打开翻翻也就明了。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: