占位符,顾名思义就是插在输出里站位的符号。占位符是绝大部分编程语言都存在的语法, 而且大部分都是相通的, 它是一种非常常用的字符串格式化的方式。
1. 常用占位符的含义
s : 获取传入对象的__str__方法的返回值,并将其格式化到指定位置
r : 获取传入对象的__repr__方法的返回值,并将其格式化到指定位置
c : 整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-255);字符:将字符添加到指定位置
o : 将整数转换成 八 进制表示,并将其格式化到指定位置
x : 将整数转换成十六进制表示,并将其格式化到指定位置
d : 将整数、浮点数转换成 十 进制表示,并将其格式化到指定位置
e : 将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)
E : 将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)
f : 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)
F : 同上
g : 自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)
G : 自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)
% : 当字符串中存在格式化标志时,需要用 %%表示一个百分号;
2. 常用占位符应用举例
1. 格式化字符串
1
2
3 |
>>> print ( "This website name is %s" % ( "pythontab.com" )) this website name is pythontab.com >>> |
2. 格式化整数
1
2
3 |
>>> print ( "The rank score is %d" % (100.0)) >>> The rank score is 100 >>> |
3. 格式化浮点数
1
2
3 |
>>> print ( "Yao Ming's height is %f m" %(2.29)) Yao Ming's height is 2.290000 m >>> |
4. 格式化浮点数(指定保留小数点位数)
1
2
3 |
>>> print ( "Yao Ming's height is %.1f m" %(2.29)) Yao Ming's height is 2.3 m >>> |
5. 指定占位符宽度
1
2
3 |
>>> print ( "Name : s, Age : , Height: %8.2f" %( "Yao Ming" , 37, 2.29)) Name : Yao Ming, Age : 37, Height : 2.29 >>> |
格式比较难看, 下面我们来做一下对齐
6. 指定占位符宽度 - 左对齐
1
2
3 |
>>> print ( "Name : %-10s, Age : %-9d, Height : %-8.2f" %( "Yao Ming" , 37, 2.29)) Name : Yao Ming , Age : 37 , Height : 2.29 >>> |
注:
格式化可选标志符, 可选参数
+ 右对齐;正数前加正好,负数前加负号;
- 左对齐;正数前无符号,负数前加负号;
空格 右对齐;正数前加空格,负数前加负号;
0 右对齐;正数前无符号,负数前加负号;用0填充空白处
如: -10s, 表示10个字符串位置, 左对齐,后面用空格填充
7. 指定占位符 - 用0当占位符
1
2
3 |
>>> print ( "Name : %-10s, Age : d, Height : .2f" %( "Yao Ming" , 37, 2.29)) Name : Yao Ming , Age : 000000037, Height : 00002.29 >>> |
3. 总结
占位符的使用非常常见, 也非常实用, 它可以很好的帮助我们解决一些字符串格式化的问题, 变换出多种用法, 一些常用的占位符大家可以记住, 以便提升编程效率。
上一篇:Python中set的用法
一级建造师二级建造师消防工程师造价工程师土建职称房地产经纪人公路检测工程师建筑八大员注册建筑师二级造价师监理工程师咨询工程师房地产估价师 城乡规划师结构工程师岩土工程师安全工程师设备监理师环境影响评价土地登记代理公路造价师公路监理师化工工程师暖通工程师给排水工程师计量工程师
执业药师执业医师卫生资格考试卫生高级职称护士资格证初级护师主管护师住院医师临床执业医师临床助理医师中医执业医师中医助理医师中西医医师中西医助理口腔执业医师口腔助理医师公共卫生医师公卫助理医师实践技能内科主治医师外科主治医师中医内科主治儿科主治医师妇产科医师西药士/师中药士/师临床检验技师临床医学理论中医理论