如何输出格式化的字符串(学习笔记四)-阿里云开发者社区

开发者社区> 技术小胖子> 正文

如何输出格式化的字符串(学习笔记四)

简介:
+关注继续查看

如何输出格式化的字符串(学习笔记四)


我们经常会输出类似 '亲爱的xxx你好!你xx月的话费是xx,余额是xx' 之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。

在Python中,采用的格式化方式和C语言是一致的,用 % 实现,举例如下:

>>> 'Hello, %s' % ('world')

'Hello, world'

截图如下:

wKiom1kNpTewWUUdAAAYu6_S-dA362.png

注:

(1)红线上的百分号,两边可有空格也可无;

(2)对于只有一个变量的情况,我们可以将'world'外的括号省略,则上面代码可以如下写:

>>> 'Hello, %s' % 'world'

'Hello, world'

那么当出现两个变量时,我们应该怎么表示呢?如下:

>>> 'Hi, %s, you have $%d.' % ('wtf', 100)

'Hi, wtf, you have $100.'

注:

常见的占位符有:

%d 整数

%f 浮点数

%s 字符串

%x 十六进制整数


现在简单介绍下,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:


(1)格式化整数,可以指定整数的位置,如下:

>>> '%d-%d'%(3,1)

'3-1'

>>> '%1d-%d'%(3,1)

'3-1'

>>> '%2d-%d'%(3,1)

' 3-1'

>>> '%3d-%d'%(3,1)

'  3-1'

截图如下:

wKioL1kNqhSwiHApAAAUYMyOHPA635.png

(2)格式化整数,可以指定是否补零,如下:

>>> '%d-%d'%(3,1)

'3-1'

>>> '%d-%01d'%(3,1)

'3-1'

>>> '%d-%02d'%(3,1)

'3-01'

>>> '%d-%03d'%(3,1)

'3-001'

截图如下:

wKioL1kNqmLCGNV-AAAPvOY4Ilw866.png

(3)格式化整数指定整数位置和补零,如下:

>>> '%2d-%02d' % (3, 1)

' 3-01'

(4)格式化浮点数

>>> '%.2f' % 3.1415926

'3.14'


扩展


(1)如果你不太确定应该用什么, %s 永远起作用,它会把任何数据类型转换为字符串:

>>> 'Age: %s. Gender: %s' % (25, True)

'Age: 25. Gender: True'

(2)对于Unicode字符串,用法完全一样,但最好确保替换的字符串也是Unicode字符串:

>>> u'Hi, %s' % u'Michael'

u'Hi, Michael'

(3)有些时候,字符串里面的 % 是一个普通字符怎么办?这个时候就需要转义,用 %% 来表示一个 % :

>>> 'growth rate: %d %%' % 7

'growth rate: 7 %'



     本文转自品鉴初心51CTO博客,原文链接:http://blog.51cto.com/wutengfei/1922734,如需转载请自行联系原作者






版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
(二十一)java字符串替换的问题
<span style="font-size:18px">今天工作中遇到一个问题,需要输出mongodbObject中的部分内容,当我转换成字符串以后出现了好像无法替换的问题,经过验证,发现并非是不能替换,只是想法错误而已。<br> package demo;<br> /**<br>  * 输出字符串中的chenggongzhimu,shibai,count,123<br>  *
960 0
生产中的 Serverless 机器学习流水线
本文定义了生产环境中对机器学习流水线的要求,提供了基于阿里云函数工作流 (FnF),函数计算 (FC) 结合容器服务 K8s 实现 Serverless ML Pipeline 的解决方案。通过分析得出结论:该方案可以提高研发效率,优化运维和经济成本,帮助 ML 更快产生商业价值。
3384 0
算法:字符串消除问题的数学证明
问题: 给定一个字符串,仅由A、B、C3个字母组成。当出现连续两个不同的字母时,你可以用另外一个字母替换它,如有AB或BA连续出现,你把它们替换为字母C;有AC或CA连续出现时,你可以把它们替换为字母B;有BC或CB连续出现时,你可以把它们替换为字母A。
477 0
《构建实时机器学习系统》一1.8 实时机器学习模型的生存期
本节书摘来自华章出版社《构建实时机器学习系统》一 书中的第1章,第1.8节,作者:彭河森 汪涵,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1821 0
HTML骨架格式|学习笔记
快速学习HTML骨架格式
18 0
21119
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载