科百科
当前位置: 首页 科技资讯

python中字符串的专业方法(在Python中格式化字符串的两种方法详解)

时间:2023-06-07 作者: 小编 阅读量: 1 栏目名: 科技资讯

1.使用%操作符格式化字符串在Python中,要实现格式化字符串,可以使用“%”操作符。如果要指定的项有多个,需要通过元组的形式进行指定,但不能使用列表。如果省略,则根据值的先后顺序自动分配。

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中格式化字符串的两种方法详解》。本知识点主要内容有:使用%操作符格式化字符串和使用format()方法格式化字符串。

格式化字符串的意思是先制定一个模板,在这个模板中预留几个空位,然后再根据需要填上相应的内容。这些空位需要通过指定的符号标记(也称为占位符),而这些符号还不会显示出来。在Python中,格式化字符串有以下两种方法。

站长在线提醒你:这里的格式化字符串中的格式化,不再是我们电脑、手机常用的格式化磁盘哦,电脑和手机磁盘的格式化(format)是指对磁盘或磁盘中的分区进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除。所以大家不要混淆了两个不同的概念。

1.使用%操作符格式化字符串

在Python中,要实现格式化字符串,可以使用“%”操作符。语法格式如下:

'%[-][ ][0][m][.n]格式化字符'%exp

参数说明如下:

-:可选参数,用于指定左对齐,正数前方无符号,负数前面加负号。

:可选参数,用于指定右对齐,正数前方加正号,负数前方加负号。

0:可选参数,表示右对齐,正数前方元符号,负数前方加负号,用0填充空白处(一般与m参数一起使用)。

m:可选参数,表示占有宽度。

.n:可选参数,表示小数点后保留的位数。

格式化字符:见下方。

exp:要转换的项。如果要指定的项有多个,需要通过元组的形式进行指定,但不能使用列表。

Python中常用的格式化字符有:

%d、%i :转换为带符号的十进制整数

%o :转换为带符号的八进制整数

%x、%X :转换为带符号的十六进制整数

%e :转化为科学计数法表示的浮点数(e 小写)

%E :转化为科学计数法表示的浮点数(E 大写)

%f、%F :转化为十进制浮点数

%g :智能选择使用 %f 或 %e 格式

%G :智能选择使用 %F 或 %E 格式

%c :格式化字符及其 ASCII 码

%r :使用 repr() 函数将表达式转换为字符串

%s :使用 str() 函数将表达式转换为字符串

格式化操作符辅助符:

*:定义宽度或者小数点精度

-:用做左对齐

:在正数前面显示加号( )

#:在八进制数前面显示零(0),在十六进制前面显示"0x"或者"0X"(取决于用的是"x"还是"X")

0:显示的数字前面填充"0"而不是默认的空格

(var):映射变量(通常用来处理字段类型的参数)

m.n:m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

示例:格式化输出一个保存公司信息的字符串,代码如下:

demo = '编号:d\t 公司名称:%s \t 官网:HTTPs://WWW.%s.com' # 定义一个模板text1 = (1,'百度','baidu')# 定义要转换的内容1text2 = (2,'站长在线','olzz')# 定义要转换的内容2print(demo%text1)# 格式化输出1print(demo%text2)# 格式化输出2

运行结果如下:

编号:001 公司名称:百度官网:https://www.baidu.com编号:002 公司名称:站长在线官网:https://www.olzz.com>>>

站长在线温馨提醒:使用“%”操作符的方法是早期的方法,目前在Python 3.10中仍然有效,3.10官方最新提供的方法,只有format()方法,所以format()方法才是大家学习的重点。

2、使用format()方法格式化字符串

字符串对象提供了format()方法用于进行字符串格式化。其语法格式如下:

str.format(args)

其中,str用于指定字符串的显示样式(即模板);args用于指定要转换的项,如果有多项,则用逗号进行分隔。

下面重点介绍如何创建模板。在创建模板时,需要使用“{}”和“:”指定占位符,基本语法格式如下:

{[index][:[[fill]align][sign][#][width][.precision][type]]}

参数说明如下:

index:可选参数,用于指定要设置格式的对象在参数列表中的索引位置,索引值从0开始。如果省略,则根据值的先后顺序自动分配。

fill:可选参数,用于指定空白处填充的字符。

align:可选参数,用于指定对齐方式(值为“<”表示内容左对齐;值为“>”表示内容右对齐;值为“=”表示内容右对齐,将符号放在填充内容的最左侧,且只对数字类型有效;值为“^”表示内容居中),需要配合width一起使用。

sign:可选参数,用于指定有无符号数(值为“ ”表示正数加正号,负数加负号;值为“-”表示正数不变,负数加负号;值为空格表示正数加空格,负数加负号)。

#:可选参数,对于二进制、八进制和十六进制,如果加上“#”,表示会显示0b/0o/0x前缀,否则不显示前缀。

width:可选参数,用于指定所占宽度。

.precision:可选参数,用于指定保留的小数位数。

type:可选参数,用于指定类型,

formcat()方法中常用的格式化字符如下:

s :对字符串类型格式化。

d :十进制整数。

c :将十进制整数自动转换成对应的 Unicode 字符。

e 或者 E : 转换成科学计数法后,再格式化输出。

g 或 G :自动在 e 和 f(或 E 和 F)中切换。

b :将十进制数自动转换成二进制表示,再格式化输出。

o :将十进制数自动转换成八进制表示,再格式化输出。

x 或者 X :将十进制数自动转换成十六进制表示,再格式化输出。

f 或者 F :转换为浮点数(默认小数点后保留 6 位),再格式化输出。

% :显示百分比(默认显示小数点后 6 位)。

例如,定义一个保存公司信息的字符串模板,然后应用该模板输出不同公司的信息,代码如下:

demo = '编号:{:0>3s}\t 公司名称:{:s} \t 官网:https://www.{:s}.com' # 定义一个模板text1 = demo.format('1','百度','baidu') # 定义要转换的内容1text2 = demo.format('2','站长在线','olzz')# 定义要转换的内容2print(text1)# 格式化输出1print(text2)# 格式化输出2

运行结果为:

编号:001 公司名称:百度官网:https://www.baidu.com编号:002 公司名称:站长在线官网:https://www.olzz.com>>>

format()是python2.6新增的一个格式化字符串的方法,功能非常强大,有可能在未来完全替代%格式化方法,相比 % ,format()的优点有:

1 .格式化时不用关心数据类型的问题,format()会自动转换,而在%方法中,%s用来格式化字符串类型,%d用来格式化整型;

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

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

所以,我们要着重掌握format()的方法,下面讲解一个实例。

在实际开发中,数值类型有多种显示需求,比如货币形式、百分比形式等,使用 format() 方法可以将数值格式化为不同的形式。相关代码如下:

import math# 导入Python的数学模块print('1251 3950的结果是(以货币形式显示):¥{:,.2f}元'.format(1251 3950)) # 以货币形式显示print('{0:.1f}用科学计数法表示:{0:E}'.format(120000.1))# 用科学计数法表示print('π取5位小数点:{:.5f}'.format(math.pi)) # 输出小数点后五位print('{0:d}的16进制结果是:{0:#x}'.format(100))# 输出十六进制数print('天才是由 {:.0%} 的灵感,加上 {:.0%} 的汗水 。'.format(0.01,0.99))# 输出百分比,并且不带小数

运行结果为:

1251 3950的结果是(以货币形式显示):¥5,201.00元120000.1用科学计数法表示:1.200001E 05π取5位小数点:3.14159100的16进制结果是:0x64天才是由 1% 的灵感,加上 99% 的汗水 。>>>

到此为止,本文主要内容《在Python中格式化字符串详解》中的新老方法:使用%操作符格式化字符串和使用format()方法格式化字符串,在这一点希望大家会举一反三,灵活掌握,格式化字符串掌握了,以后在实践Python爬虫的时候才会使用,要不然不会格式化字符串,在Python爬虫实践的时候,就不知所措了。

,
    推荐阅读
  • 超拽冷漠的网名女生逢场作戏 冷酷超拽网名女生

    2、未来、来不了3、看尽事态的炎凉4、灵魂傀儡5、愿你安好6、小巷里的女流氓7、滚,离莪远点8、滥情人不懂爱9、风吹誓言10、永驻你心房11、擦掉淡红唇莹爱里陶醉12、寄给你悲喜13、一脸美人痣14、谈感情伤神15、明知相思苦

  • 观赏鱼产卵后的处理(发现观赏鱼在鱼缸里产卵)

    最近一直没有时间去管理我的那两条迷你鹦鹉鱼的种鱼,因为其他新鱼入缸的不同需求,以及金鱼和孔雀鱼的繁殖等问题,它们一直被我给倒来倒去。还有就是我们使用一个繁殖孔雀鱼的隔离盒,把陶罐或者燕鱼产卵的水草叶子,扔到里面孵化,对于这些方法我就不说什么了吧,省的我想骂人。所以说,最终我还是连鱼卵带两条亲鱼,一起倒进了陶瓷缸,小孔雀鱼苗被我扔进了第二窝孔雀鱼苗和金鱼苗的鱼缸里,死活随它吧,因为个体差异很大。

  • 携号转网还能微信上交话费吗(携号转网不影响支付宝)

    最近一段时间,“携号转网”用户体验成为业界关注的焦点,携号转网是否会影响第三方平台代缴话费?对于不法分子利用消费者对“携号转网”规则不清楚进行诈骗的行为,黄荷仙给出了提醒。“携号转网”试运行阶段,有用户反映存在协议有效期到2050年/2099年的情况。对此,黄荷仙强调,这是个别电信运营企业系统默认设置的问题,目前已要求相关企业全面整改。在黄荷仙看来,“携号转网”是否成功不在于携转量,而在于用户的满意度和方便性。

  • python中字符串的专业方法(在Python中格式化字符串的两种方法详解)

    1.使用%操作符格式化字符串在Python中,要实现格式化字符串,可以使用“%”操作符。如果要指定的项有多个,需要通过元组的形式进行指定,但不能使用列表。如果省略,则根据值的先后顺序自动分配。

  • 眼瞎看错人的讽刺句子(眼瞎看错人的讽刺句子有哪些)

    以下内容大家不妨参考一二希望能帮到您!眼瞎看错人的讽刺句子我是瞎了眼,看错了人,良心喂了狗,反反复复,我终会吸取教训,最后一年,我只需要自己。我敬往事一杯酒当初眼瞎爱过狗,再敬往事一杯酒愿有岁月可回头,最后敬我一杯酒再爱人渣我是狗。我还是很喜欢你,像数学里的九和三,我除了你还是你。别总是把我当好人,省得到时我做了坏事又说自己瞎了眼看错了人。

  • 结婚并不可怕 结婚并不可怕,无非离婚

    结婚后,不可能总是如热恋般如胶似漆。夫妻间的“吸引力”常常会随着结婚时间的长久而有所减弱,那么,如何增强中年夫妻间的吸引力,使爱情之树常青呢?下面小编为你贡献八大独家秘笈,助你长久保持夫妻间的的吸引力。所以,适当的小别,增加夫妻间的新鲜感。

  • 最独特霸气点的宠物名字大全气势外露(最独特霸气点的宠物名字大全气势外露有哪些)

    太子巴图,下面我们就来聊聊关于最独特霸气点的宠物名字大全气势外露?接下来我们就一起去了解一下吧!

  • 葭字取名的寓意是什么(葭字取名的寓意)

    葭原是新生的蒲棒,后延伸可指菏叶,用在姓名即选用引申,有称赞其品性如莲之高尚童真,性情柔和善良的意思,是个很合乎女人气质的取名字汉字。父母们用葭字给女儿取名不但是字型字意十分幸福,也是期待其在未来可以有着气质高雅的气场,进而在群体中发亮添彩。姓名和人的八字命理运程还密切相关,葭字五行属木,针对生辰八字中木属性有不够的小孩,取名字能够后天性填补装运,进而人生道路更为事事顺心。

  • 咖喱火腿炒饭制作方法(怎么做咖喱火腿炒饭)

    下面更多详细答案一起来看看吧!咖喱火腿炒饭制作方法主料:米饭400克、豇豆300克、火腿半根(粗的)。辅料:生抽适量、食用油适量、食盐2茶匙。洗好菜,准备好食材。豇豆切块约1cm长,火腿切丁约半厘米长。锅热后放油,稍微没过锅底就好,小火。放入豇豆,大火炒,中途中火盖上锅盖1分钟,如果有点粘锅再放点油。炒至表面微皱盛金黄色时,中火,放火腿。中火加入1汤匙生抽,两勺食盐,翻炒1分钟关火,出锅。

  • 新出的卡牌策略游戏(卡牌鼻祖电脑病毒还有RTS)

    卡牌鼻祖电脑病毒还有RTS不知道上周的“游戏荒”大家是否有顺利度过?然而上周的过去了,本周的又来了每周一次循环往复,这位“游戏荒君”就是不会让你安生的不过不用害怕,也不用惊慌~作为“游戏荒君”的老对手,这次我也不会放任它四处乱。