Python中如何实现字符串格式化(python,开发技术)

时间:2024-04-28 15:30:29 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    什么是字符串格式化,为什么需要这样做?

    我们有时候刷抖音/B站看到封面很好看,但是进入直播发现,不过如此!
    想必主播通过某种方式把输出转换为读者想看的内容。

    是不是大概懂了什么是格式化和格式化的必要性了!

    仅仅类比,我们程序的格式化,并没有那么过份!1输出还是1,只是人类更好读懂了。

    而不像网络主播那样稍微格式化(工程挺大)从1变成了0。

    毕竟程序不能欺骗开发者。

    必要性:输出为更好的格式化,方便开发者和用户读懂输出。

    程序中都有哪些格式化?

    网上说有三种,四种,未来还可能会增加其他库。

    学委开发过多种语言,大概总结如下两个大类:

    • 字符串占位符替换

    • 字符串关键字替换

    下面看看代码

    占位符格式化

    第一种%占位符格式化

    python中我们最常见的是'%‘ 这类占位符号

    str="hello""thisisastring:%s"%str"thisisastring:%s,%s"%(str,str)

    上面我们观察一下,可以发现输出中‘%s'被替换为了'hello';

    另一个是多个‘%s'的替换是用一个元组,按照对应下标来替换。

    格式化基本上都可以使用'%s'来完成。

    好,懂了这个,我们继续看看下面的代码:

    #!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2021/10/3010:13上午#@Author:LeiXueWei#@CSDN/Juejin/Wechat:雷学委#@XueWeiTag:CodingDemo#@File:string_format.py#@Project:helloimportsysfirst="持续学习"second="持续开发"slogan=first+secondprint(slogan)banner="*"*16print(banner)slice=slogan[2:4]print(slice)print(""""学习"inslogan:%s"""%("学习"inslogan))print(""""不学习"notinslogan:%s"""%("不学习"notinslogan))print(r"""打印\n换行被当做普通字符输出了!""")#以上我们都可以看到%,很多次代码都有说到这个,但是并没有过多解释print("%s"%slogan)#最常用了%s格式化字符串#print("%c"%'ccc')#TypeError:%crequiresintorcharprint("%c"%'c')#%c通常用来强制检测待输出的字符串必须长度为1print("%c"%'雷')#%c通常用来强制检测待输出的字符串必须长度为1number=102.40101print("%%i符号整数%i"%number)print("%%i符号整数:%i"%-number)print("%%d符号整数%d"%number)print("%%d符号整数%d"%-number)print("%%u无符号整数:%u"%number)print("%%u无符号整数:%u"%-number)#print("八进制%o"%number)print("%%o八进制%o"%102)print("%%x16进制%x"%102)#print("16进制%X"%102)print("%%e自然常数e进制:%e"%number)#print("%E"%number)print("%%f浮点数%f"%number)print("%%g灵活的有效显示:%g"%number)#保证显示6微有效数字的前提下,灵活的选择小数方式,或者科学计数法#print("%G"%number)print("%%g灵活的有效显示:%g"%(number*10001))#保证显示6微有效数字的前提下,灵活的选择小数方式,或者科学计数法#下面两种写法需要注意执行顺序#print("%g"%number*10001)#注意这种写法#print("%g"%number**10)#注意这种写法

    读者可以直接复制运行代码,学委补充了运行效果图:

    Python中如何实现字符串格式化

    这里比较特殊的是‘%u'无符号整型的展示,正负数并无区别。

    那是肯定的,无符号整型跟有符号整型是表示数的两种手段。
    但是无符号的比有符号多了一个位来放数字,所以范围更大。

    上面这段题外话,小白稍微看看或者跳过。我们继续看看其他格式化方式。

    第二种占位符格式化

    跟上面稍微区别就是我们会看到一下明显的下标。

    {0}, {1}, … {n}

    想要留几个替换位,就放几个{}括起来,但要求必须给到n个参数,更多信息参考https://docs.python.org/3/library/string.html

    这个非常简单直接,我们看看代码:

    #!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2021/10/3010:13上午#@Author:LeiXueWei#@CSDN/Juejin/Wechat:雷学委#@XueWeiTag:CodingDemo#@File:string_format1.py#@Project:helloimportsysslogan="持续学习持续开发"author="雷学委"text="{0},{1}".format(slogan,author)print("text=%s"%text)

    关键字格式化

    非常好理解就是类似{}一对大括弧中间为待替换的内容。

    这个非常简单直接,我们看看代码:

    #!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2021/10/3010:13上午#@Author:LeiXueWei#@CSDN/Juejin/Wechat:雷学委#@XueWeiTag:CodingDemo#@File:string_format2.py#@Project:helloimportsysslogan="持续学习持续开发"author="雷学委"text=f"{slogan},{author}"print("text=%s"%text)

    运行效果如下:

    Python中如何实现字符串格式化

    从这里看,关键字格式化比较友好!

     </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
    本文:Python中如何实现字符串格式化的详细内容,希望对您有所帮助,信息来源于网络。
    上一篇:Android基于ViewPager+Fragment如何实现左右滑屏效果下一篇:

    5 人围观 / 0 条评论 ↓快速评论↓

    (必须)

    (必须,保密)

    阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18