文章目录

  • 前言
  • 一、什么是格式化字符串?
  • 二、使用 % 格式化字符串
  • 三、使用 format() 格式化字符串
  • 总结

前言

今天跟大家聊聊字符串的格式化这部分内容。乍一听“格式化”这三个字,有的初学者可能会懵:难道这是要清空字符串的节奏?

其实不是的,恰恰相反,格式化字符串是为了让字符串变的更美观、更灵活。接下来就给大家详细介绍格式化字符串的概念以及具体用法。


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

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

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

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

二、使用 % 格式化字符串

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

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

参数说明

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

是不是看到这么多参数和格式化字符,瞬间感到很复杂呢?

其实一点也不难,我们可以把这些参数拆开来看,既然里面很多参数都是可选的,也就是可有可无,那就先把这些参数全部去掉再看,语法就变成了 ‘%格式化字符’%exp,接下来看看代码示例,如下图所示:

看完上图代码,是不是感觉简单多了,至于那些可选参数则可以根据实际需求进行添加。比如上图代码中出现的小数有多位,如果只想保留两位有效数字,那就可以用到可选参数 .n,代码如下图所示:

同理,其余的可选参数,比如 m 占有宽度,指的是格式化字符串当前占有的宽度是多少字符。还是以刚才的浮点数格式化为例,‘3.14’ 本身占据 4 个字符的宽度,我们也可以设置的更宽,代码如下图所示:

其余的可选参数以及格式化字符类型用法就不再逐一演示了,大家有空可以自己多练练。

格式化字符串你都懂了吗相关推荐

  1. bootstrap table格式化字符串_你要的PHP字符串处理函数都在这了!

    php中文网最新课程 每日17点准时技术干货分享 打印输出函数 说明 echo 输出一个或多个字符串 print 输出字符串 printf 输出格式化字符串 sprintf Return a form ...

  2. python 字符串%和format_Python必懂知识点,格式化字符串,到底用.format还是%

    第一次听说格式化,是清理电脑磁盘时,以为格式化就是清空一切,重回自由,后来才知道,格式化,是另一种妥协. 以下部分节选自<编写高质量代码:改善Python程序的91个建议>一书,需要该书电 ...

  3. python 格式化字符串 模板字符串(五分钟读懂)

    格式化字符串 模板字符串 在python字符串最核心的功能 # %s 字符串 占位符 获取传入对象的__str__方法的返回值,并将其格式化到指定位置 # %d 数字整数 占位符 将整数.浮点数转换成 ...

  4. python的格式化输入_一看就懂的Python输入和输出、格式化字符串方法

    程序的输出可以有多种形式:我们可以将数据以人类可读的形式打印到屏幕上,或者将其写入到文件中以供后续使用. 格式化输出 迄今为止,在 Python 中存在两种输出值的方法:表达式语句以及 print() ...

  5. 基础二(格式化字符串、运算符和编码)

    一.Python的输出 (1)纯输出一个字符串或数字 print("Hello World") #输出 Hello World print(34) #输出 34 (2)利用字符串连 ...

  6. [pwn]格式化字符串:0ctf 2015 login writeup

    文章目录 格式化字符串:0ctf 2015 login writeup 格式化字符串漏洞 题目分析 利用思路 开始利用 格式化字符串:0ctf 2015 login writeup 格式化字符串漏洞 ...

  7. 跟着CTF-Wiki学pwn|格式化字符串(1)

    文章目录 格式化字符串漏洞原理介绍 格式化字符串函数介绍 格式化字符串函数 格式化字符串 参数 格式化字符串漏洞原理 格式化字符串漏洞利用 程序崩溃 泄露内存 泄露栈内存 获取栈变量数值 获取栈变量对 ...

  8. 格式化字符串漏洞利用

    学习资料: https://ctf-wiki.github.io/ctf-wiki/pwn/linux/fmtstr/fmtstr_exploit/                        ht ...

  9. 使用C++ ostringstream来格式化字符串输出

    在Linux C中,我们通常使用snprintf来格式化字符串输出,但是有一个问题,就是可能会频繁申请大的缓冲区,并且无法实现字符串的动态增加,比如你定义的字符缓存为100个字节,如果你格式化以后的内 ...

最新文章

  1. 转:AIX 5L 内存性能优化
  2. 排序只显示前5_Linux 文件大小统计与排序 du,df 和 sort!
  3. linux hrtimer 绑定cpu,Linux hrtimer分析--未配置高精度模式
  4. 【复习】服务器主板——Leez P710
  5. window上远程访问linux上的neo4j的设置
  6. jieba分词错误_如何掌握分词技术,你需要学会这些
  7. .net core 文件流保存图片_Java--利用TCP实现文件上传
  8. andoid 打包短信发送到gmail邮箱
  9. 2019-02-23-算法-进化
  10. P3971-[TJOI2014]Alice and Bob【贪心】
  11. MVC原理及案例分析
  12. ospf避免环路_路由环路知识点总结!
  13. 分区和分片的区别_Mysql分表和分区的区别、分库分表介绍与区别
  14. [原创]FOCUS处理系统流程之:流程批量生成(个人专用懒人版)
  15. jQuery 的 ajax
  16. JavaWeb——Servlet(入门必备,web请求与响应的底层)
  17. 计算机通信网络学什么软件,通信工程专业需要用到的电脑软件有哪些
  18. 通过R访问世界银行数据(World Bank Data)分析经济
  19. java P1195 口袋的天空
  20. 梦回山海推广码jn0010 梦回山海推广码

热门文章

  1. 如何解决IE浏览器阻止下载文件
  2. 根据Uniprot ID/PDB ID批处理获取蛋白质.pdb文件
  3. uniport ID 转换为 gene symbol(ID转换)
  4. 产品破局思考:一个思维,一种策略
  5. ViewPager中呈现前一页和后一页的内容
  6. gigaset812说明书_详细的电话机使用说明书
  7. Ubuntu-18.04安装
  8. 塞尔达传说顺序_您可能错过的有争议的塞尔达传说
  9. python入门教材 52pj_Micropython入门实操心得
  10. java注解约束参数为固定值_java自定义注解的实现及属性设置