博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python成长之路4——字符串格式化
阅读量:4317 次
发布时间:2019-06-06

本文共 2362 字,大约阅读时间需要 7 分钟。

字符串的拼接有两种方式:
(1)万恶的连接符   
万恶的连接符(+):    每次连接都会开辟一个新的内存空间(原内存空间程序不会删除,解释器有回收机制,发现没有人调用此内存空间即会回收)    eg:a=b+c+d 会开辟3个内存空间
万恶的连接符
(2)字符串格式化

格式符

格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型

%[(name)][flags][width].[precision]typecode

(name)为命名

flags可以有+,-,' '或0。+表示右对齐。-表示左对齐。' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。

width表示显示宽度

precision表示小数点后精度

%s    字符串 (采用str()的显示)%r    字符串 (采用repr()的显示)%c    单个字符%b    二进制整数%d    十进制整数%i    十进制整数%o    八进制整数%x    十六进制整数%e    指数 (基底写为e)%E    指数 (基底写为E)%f    浮点数%F    浮点数,与上相同%g    指数(e)或浮点数 (根据显示长度)%G    指数(E)或浮点数 (根据显示长度)%%    字符"%"
格式符

常用的格式符有%s和%d

1 #%[(name)][flags][width].[precision]typecode 2 t1="i am %(name)s,age is %(age)d" % {
"name":"zy","age":19} 3 print(t1) 4 t2="percent %.2f" % 99.12345 5 print(t2) 6 t3="percent %(pp).3f" % {
"pp":123.45678} 7 print(t3) 8 t4="%.2f%%" % 30.123 9 print(t4)10 11 执行结果:12 i am zy,age is 1913 percent 99.1214 percent 123.45715 30.12%16 17 #format18 p1="i am {},age {},No.{}".format("zy",18,"01")19 print(p1)20 p2="i am {},age {},No.{}".format(*["zy",18,"01"])21 print(p2)22 p3="i am {0},age {1},real {0}".format("zy",10)23 print(p3)24 p4="i am {0},age {1},real {0}".format(*["zy",10])25 print(p4)26 p5="i am {name},age {age},real {name}".format(name="zy",age=19)27 print(p5)28 p6="i am {name},age {age},real {name}".format(**{
"name":"zy","age":19})29 print(p6)30 p7="i am {0[0]},age {0[1]},real {1[0]}".format([1,2,3],[4,5,6])31 print(p7)32 p8="i am {:s},age {:d},money {:f}".format("zy",18,123.456)33 #f默认是6位小数34 print(p8)35 p9="i am {:s},age {:d}".format(*["zy",19])36 print(p9)37 p10="i am {name:s},age {age:d}".format(**{
"name":"zy","age":19})38 print(p10)39 p11="{:b},{:o},{:d},{:x},{:X},{:%}".format(15,15,15,15,15,15,87654)40 print(p11)41 p12="{num:b},{num:o},{num:d},{num:x},{num:X},{num:%}".format(num=16)42 print(p12)43 p13="{0:b},{0:o},{0:d},{0:x},{0:X},{0:%}".format(17)44 print(p13)45 p14="{:.2%}".format(0.123456)46 print(p14)47 48 执行结果:49 i am zy,age 18,No.0150 i am zy,age 18,No.0151 i am zy,age 10,real zy52 i am zy,age 10,real zy53 i am zy,age 19,real zy54 i am zy,age 19,real zy55 i am 1,age 2,real 456 i am zy,age 18,money 123.45600057 i am zy,age 1958 i am zy,age 1959 1111,17,15,f,F,1500.000000%60 10000,20,16,10,10,1600.000000%61 10001,21,17,11,11,1700.000000%62 12.35%
两种字符串格式化

 

 

转载于:https://www.cnblogs.com/meitangyanyan/p/6402316.html

你可能感兴趣的文章
二级图片导航菜单
查看>>
<Using parquet with impala>
查看>>
07-Java 中的IO操作
查看>>
uclibc,eglibc,glibc之间的区别和联系【转】
查看>>
Java魔法堂:找外援的利器——Runtime.exec详解
查看>>
mysql数据库存放路径
查看>>
TestNG(五)常用元素的操作
查看>>
解决 Visual Studio 点击添加引用无反应的问题
查看>>
通过镜像下载Android系统源码
查看>>
python字符串格式化 %操作符 {}操作符---总结
查看>>
windows 不能在 本地计算机 启动 Apache
查看>>
iOS开发报duplicate symbols for architecture x86_64错误的问题
查看>>
Chap-6 6.4.2 堆和栈
查看>>
【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸
查看>>
C# MySql 连接
查看>>
sk_buff Structure
查看>>
oracle的级联更新、删除
查看>>
多浏览器开发需要注意的问题之一
查看>>
Maven配置
查看>>
HttpServletRequest /HttpServletResponse
查看>>