格式化字符串你都懂了吗

这篇具有很好参考价值的文章主要介绍了格式化字符串你都懂了吗。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

今天跟大家聊聊字符串的格式化这部分内容。乍一听“格式化”这三个字,有的初学者可能会懵:难道这是要清空字符串的节奏?
格式化字符串,Python入门基础语法,python,开发语言,字符串格式化,format
其实不是的,恰恰相反,格式化字符串是为了让字符串变的更美观、更灵活。接下来就给大家详细介绍格式化字符串的概念以及具体用法。


一、什么是格式化字符串?

格式化字符串是将现有的字符串按照指定模板嵌入,再生成固定格式的新字符串。

为什么要这样做呢?主要还是开发上很多场景需要用到:比如在某度进行关键字搜索问题时,每次发送不同的关键字返回不同结果,但其实发给后台的链接格式是一样的,也就是模板一致,只是里面的关键字参数不同,也就是俗称的套娃。比如下图所示:
格式化字符串,Python入门基础语法,python,开发语言,字符串格式化,format

任何网站基本都是遵循这样的规律进行开发,所以这就是为什么需要学习字符串的格式化处理。

二、使用 % 格式化字符串

在Python中提供了两种方法来格式化字符串,先说第一种:使用 % 操作符,语法格式如下:

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

参数说明

  • :可选参数,用于指定左对齐,正数前方无符号,负数前方加负号。
  • +:可选参数,用于指定右对齐,正数前方加正号,负数前方加负号。
  • 0:可选参数,表示右对齐,正数前方无符号,负数前方加负号,用 0 填充空白处(一般与 m 参数一起使用)。
  • m:可选参数,表示占有宽度。
  • .n:可选参数,表示小数点后保留的位数。
  • 格式化字符:用于指定要格式化的字符是什么类型,常见的格式化字符类型及表示方法如下表所示。
格式化字符 说明 格式化字符 说明
%s 字符串 %o 八进制整数
%d 或者 %i 十进制整数 %e 指数(基底写为e)
%x 十六进制整数 %E 指数(基底写为E)
%f 或者 %F 浮点数 %% 字符%
  • exp:要转换的项。如果要指定多个,需要通过元组的形式进行指定。

是不是看到这么多参数和格式化字符,瞬间感到很复杂呢?
格式化字符串,Python入门基础语法,python,开发语言,字符串格式化,format
其实一点也不难,我们可以把这些参数拆开来看,既然里面很多参数都是可选的,也就是可有可无,那就先把这些参数全部去掉再看,语法就变成了 ‘%格式化字符’%exp,接下来看看代码示例,如下图所示:
格式化字符串,Python入门基础语法,python,开发语言,字符串格式化,format
看完上图代码,是不是感觉简单多了,至于那些可选参数则可以根据实际需求进行添加。比如上图代码中出现的小数有多位,如果只想保留两位有效数字,那就可以用到可选参数 .n,代码如下图所示:
格式化字符串,Python入门基础语法,python,开发语言,字符串格式化,format
同理,其余的可选参数,比如 m 占有宽度,指的是格式化字符串当前占有的宽度是多少字符。还是以刚才的浮点数格式化为例,‘3.14’ 本身占据 4 个字符的宽度,我们也可以设置的更宽,代码如下图所示:
格式化字符串,Python入门基础语法,python,开发语言,字符串格式化,format
其余的可选参数以及格式化字符类型用法就不再逐一演示了,大家有空可以自己多练练。

🌱 说明由于使用 % 操作符是早期Python中提供的方法,自从Python2.6版本开始,字符串对象提供了 format() 方法对字符串进行格式化。现在Python社区也推荐使用这种方法。所以建议大家重点学习 format() 方法的使用

三、使用 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:可选参数,用于指定类型。

format() 方法中常用的格式化字符如下表所示:

格式化字符 说明 格式化字符 说明
s 对字符串类型格式化 b 将十进制整数自动转换成二进制表示再格式化
d 十进制整数 o 将十进制整数自动转换成八进制表示再格式化
c 将十进制整数自动转换成对应的 Unicode 字符 x 或者 X 将十进制整数自动转换成十六进制表示再格式化
e 或者 E 转换为科学计数法表示再格式化 f 或者 F 转换为浮点数(默认小数点后保留6位)再格式化

经历过上面的 % 操作符繁多的可选参数,再看到 format() 方法, 相信大家心里至少不会再懵。依葫芦画瓢,我们也先不看这些可选参数,统统划掉,语法就只剩下 ‘{}’.format(args)。代码示例如下图所示:
格式化字符串,Python入门基础语法,python,开发语言,字符串格式化,format
如果要格式化多个多个值,可以用到 index 可选参数,代码示例如下图所示:
格式化字符串,Python入门基础语法,python,开发语言,字符串格式化,format
看到上图,有的小伙伴可能会好奇:既然省略了,也可以格式化多个值,那为什么要多此一举,再弄个 index 参数呢?其实有的场景下,是需要使用索引的,比如下图代码所示:
格式化字符串,Python入门基础语法,python,开发语言,字符串格式化,format
🌱 说明当一个模板中,出现多个占位符时,指定索引位置的规范需统一,即全部采用手动指定,或者全部采用自动,否则会报错,如下图所示。
格式化字符串,Python入门基础语法,python,开发语言,字符串格式化,format
再看一个可选参数 align,用来指定对齐方式,需要结合 width 宽度一起使用,代码示例如下图所示:
格式化字符串,Python入门基础语法,python,开发语言,字符串格式化,format
以此类推,其余的可选参数及格式化字符类型,大家日后都可以根据自己的实际开发按需取用,就不再做演示了。


总结

以上就是给大家介绍的格式化字符串所有内容,里面需要着重理解并且熟练使用的就是 format() 方法。当然如果有小伙伴喜欢使用 % 操作符这种方法也完全可以使用。两种方法中都有很多可选参数,建议大家业余要多练习,不要死记硬背。文章来源地址https://www.toymoban.com/news/detail-764862.html

到了这里,关于格式化字符串你都懂了吗的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第33讲:Python格式化字符串时使用字典传递字符串

    在前面对字符串进行格式化输出时,传递被格式化的字符串时都是单个的,如果想要对字典中Key对应的Value进行格式化输出,常规的方法如下:

    2023年04月24日
    浏览(54)
  • Python字符串格式化 (%操作符)

    在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出。在Python中内置有对字符串进行格式化的操作符是\\\"%\\\"。 模板 格式化字符串时,Python使用一个字符串作为模板。模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的

    2024年02月14日
    浏览(50)
  • 浅谈非栈上格式化字符串

    这里先浅分析修改返回地址的两种打法,分别是\\\"诸葛连弩\\\"和”四马分肥“ 本文例题 以陕西省赛easy_printf为主 简单看一看程序 需要先过一个判断然后进入vuln 进入后 有一个13次的循环 可以让我们操作 第一步 肯定要先leak出栈地址 程序基地址和libc基地址 第二步 修改ret地址

    2024年02月14日
    浏览(53)
  • Python 用户输入和字符串格式化指南

    Python 允许用户输入数据。这意味着我们可以向用户询问输入。在 Python 3.6 中,使用 input() 方法来获取用户输入。在 Python 2.7 中,使用 raw_input() 方法来获取用户输入。以下示例要求用户输入用户名,并在输入用户名后将其打印在屏幕上: Python 3.6: Python 2.7: 为了确保字符串按预

    2024年02月05日
    浏览(82)
  • 格式化字符串走过的坑 pwn109

    格式化字符串走过的坑 pwn109 今天做的一道题有一个坑我调试半天终于打通了,格式化字符串的坑,确实不少,东西也比较多容易忘记,怎么说呢,功夫在平时,经验少了 老规矩先看一下保护 Full RELRO意味着got不能修改也就是不能通过格式化字符串漏洞来改got表,但是nx保护关

    2024年04月08日
    浏览(62)
  • 【Python入门篇】——Python基础语法(字符串格式化,表达式格式化和数据输入)

    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: Python入门,本专栏主要内容为Python的基础语法,Python中的选择循环语句,Python函数,Python的数据容器等。 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 目前通过%符号占位

    2024年02月05日
    浏览(58)
  • Java工具类——json字符串格式化处理

    在我们拿到一团未经格式化的json字符串时,非常不方便查看,比如这样 因此随手写了个工具类用来格式化json。注意,原json字符串必须语法无误,并且不包含换行、空格、缩进等,否则会保留下来。 ok废话不多说上代码 运行后效果

    2024年01月17日
    浏览(54)
  • Godot 4 源码分析 - 增加格式化字符串功能

    Godot 4的主要字符串类型为String,已经设计得比较完善了,但有一个问题,格式化这块没怎么考虑。 String中有一个format函数,但这个函数只有两个参数,这咋用? 查找使用例子,都是这种效果 一看就懵。哪里有之前用的带%s %d...之类的格式化用得舒服。 动手实现一个 提供s

    2024年02月14日
    浏览(46)
  • 9.Python从入门到精通—Python 字符串格式化,三引号,Unicode 字符串

    Python中的字符串格式化是指将一个字符串中的占位符替换为指定的值。Python中有多种字符串格式化的方法,以下是其中的几种常见方法: 使用百分号(%)进行字符串格式化 使用百分号(%)进行字符串格式化是Python中最早的字符串格式化方法。它的基本语法如下: 其中,格

    2024年03月20日
    浏览(59)
  • Pandas中的字符串和时间转换与格式化

    Pandas 提供了若干个函数来格式化时间。 其中,最常用的是 to_datetime() 函数。 可以使用 to_datetime() 函数将一个字符串解析为时间,并指定字符串的格式。例如: 输出: 还可以使用 strftime() 函数将时间格式化为字符串。例如: 输出: 如果想要格式化某一列中的时间,可以使用

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包