Python字符串格式化是什么,有哪些
Admin 2022-05-21 群英技术资讯 302 次浏览
我们有时候刷抖音/B站看到封面很好看,但是进入直播发现,不过如此!
想必主播通过某种方式把输出转换为读者想看的内容。
是不是大概懂了什么是格式化和格式化的必要性了!
仅仅类比,我们程序的格式化,并没有那么过份!1输出还是1,只是人类更好读懂了。
而不像网络主播那样稍微格式化(工程挺大)从1变成了0。
毕竟程序不能欺骗开发者。
必要性:输出为更好的格式化,方便开发者和用户读懂输出。
网上说有三种,四种,未来还可能会增加其他库。
学委开发过多种语言,大概总结如下两个大类:
下面看看代码
python中我们最常见的是'%‘ 这类占位符号
str = "hello" "this is a string: %s" % str "this is a string: %s, %s" % (str, str)
上面我们观察一下,可以发现输出中‘%s'被替换为了'hello';
另一个是多个‘%s'的替换是用一个元组,按照对应下标来替换。
格式化基本上都可以使用'%s'来完成。
好,懂了这个,我们继续看看下面的代码:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/10/30 10:13 上午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷学委 # @XueWeiTag: CodingDemo # @File : string_format.py # @Project : hello import sys first = "持续学习" second = "持续开发" slogan = first + second print(slogan) banner = "*" * 16 print(banner) slice = slogan[2:4] print(slice) print(""""学习" in slogan : %s""" % ("学习" in slogan)) print(""""不学习" not in slogan : %s""" % ("不学习" not in slogan)) print(r"""打印\n换行被当做普通字符输出了!""") # 以上我们都可以看到%,很多次代码都有说到这个,但是并没有过多解释 print("%s" % slogan) # 最常用了%s 格式化字符串 # print("%c"%'ccc')#TypeError: %c requires int or char print("%c" % 'c') # %c 通常用来强制检测待输出的字符串必须长度为1 print("%c" % '雷') # %c 通常用来强制检测待输出的字符串必须长度为1 number = 102.40101 print("%%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) #注意这种写法
读者可以直接复制运行代码,学委补充了运行效果图:
这里比较特殊的是‘%u'无符号整型的展示,正负数并无区别。
那是肯定的,无符号整型跟有符号整型是表示数的两种手段。
但是无符号的比有符号多了一个位来放数字,所以范围更大。
上面这段题外话,小白稍微看看或者跳过。我们继续看看其他格式化方式。
跟上面稍微区别就是我们会看到一下明显的下标。
{0}, {1}, … {n}
想要留几个替换位,就放几个{}括起来,但要求必须给到n个参数,更多信息参考https://docs.python.org/3/library/string.html
这个非常简单直接,我们看看代码:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/10/30 10:13 上午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷学委 # @XueWeiTag: CodingDemo # @File : string_format1.py # @Project : hello import sys slogan = "持续学习持续开发" author = "雷学委" text = "{0}, {1}".format(slogan, author) print("text= %s" % text)
非常好理解就是类似{}一对大括弧中间为待替换的内容。
这个非常简单直接,我们看看代码:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/10/30 10:13 上午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷学委 # @XueWeiTag: CodingDemo # @File : string_format2.py # @Project : hello import sys slogan = "持续学习持续开发" author = "雷学委" text = f"{slogan} , {author}" print("text= %s" % text)
运行效果如下:
从这里看,关键字格式化比较友好!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了python使用tkinter模块实现文件选择功能,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
这篇文章主要介绍了Python实现多脚本处理定时运行,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
这篇文章主要为大家介绍了flask route对协议作用及设计思路详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
这篇文章主要为大家介绍了Python基础面向对象之继承与派生详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
Python内置函数-set() 函数。set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008