导航

python格式化输出及大量案例

Posted on 2014-11-18 16:22  陈东陈  阅读(858)  评论(0编辑  收藏  举报

python格式化输出符号及大量案例

1.格式化输出符号

python格式化输出符号

格式化符号

含义
%c 转化成字符
%r 优先使用repr()函数进行字符串转化
%s 转换成字符串,优先使用str()
%d或%i 转化成有符号十进制
%u 转化成无符号十进制
%o 转化成无符号八进制数
%x或%X 转化成无符号十六进制数,x或X代表转化后以小写或者大写形式输出
%e或%E 转化成科学计数法,e或E代表以小写或者大写形式输出
%f或%F 转化成浮点数
%g或%G %e和%f 或 %E和%F的简写
%%  输出%

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

案例

代码1.1

1 #输入
2 print '%c\n' % 'h'
3 
4 #输出
5 h
6 
7 # tips:
8 %c只能控制单个字符,不能控制字符串。如果是 print'%c\n' % 'hello',则会报错。

代码1.2

 1 #输入
 2 print '%r\n' % 'hello'
 3 print '%r\n' % 'h'
 4 
 5 print'%s\n' % 'hello'
 6 print'%s\n' % 'h'
 7 
 8 #输出
 9 'hello'
10 'h'
11 hello
12 h
13 
14 # tips:
15 1. %r与%s既可以控制单个字符,也可以控制字符串。
16 2. %s与%r格式输出的区别在于输出结果是否有引号。

代码1.3

 1 print'%d' % 8
 2 print '%d' % -8
 3 print '%i' % 8
 4 print '%i' % -8
 5 
 6 #输出
 7 8
 8 -8
 9 8
10 -8    

代码1.4

 1 #输入
 2 print'%o' % 9
 3 print '%x' % 11
 4 print'%X' % 11
 5 
 6 #输出
 7 11
 8 -b
 9 -B
10 
11 # tips:
12 1. 9的八进制为11,%o是字母o,不是数字零(0)
13 2. 11的十六进制为b,%x对应小写的b,%X对应大写的B

 代码1.5

 1 #输入
 2 print'%e' % 121
 3 print '%E' % 121
 4 
 5 #输出
 6 1.210000e+02
 7 1.210000E+02
 8 
 9 # tips:
10 1. %e 和%E 分别对应小写和大写的科学计数
11 2. %e或%E的标准输出是:正数部分一位数,小数部分6位数

 代码1.6

 1 #输入
 2 print'%f' % 121
 3 print'%f' % 121.56
 4 print
 5 print'%F' % 121
 6 print'%F' % 121.56
 7 
 8 #输出
 9 121.000000
10 121.560000
11 
12 121.000000
13 121.560000
14 
15 # tips:
16 1. %f与%F输出一样
17 2. %f或%F小数部分六位数
代码1.7
 1 #输入
 2 print'%g' % 1211111
 3 #输出
 4 1.21111e+06
 5 #tips
 6 只输出6位数字的值。如果目标数值为整数且大于6位数字,则将该值用科学技术法表示,只输出6位数
 7 
 8 #输入
 9 print'%g' % 1211111.23
10 #输出
11 1.21111e+06
12 #tips
13 若该值大于6位数且有小数,则从小数部分开始截去,只保留6位。
14 
15 #输入
16 print'%g' % 123
17 print '%g' % 123.11
18 #输出
19 123
20 123.11
21 #tips
22 若目标值小于6位数,则原样输出

2.辅助符号含义

辅助符号

含义
* 定义宽度或者小数点精度
- 用作左对齐
+ 在正数面前显示加号(+)
<sp> 在正数面前显示空格
# 在八进制数前显示零(0),在十六进制前面显示"ox"或OX"
0 显示的数字前面填充数字零"0",而不是默认的空格
m.n m显示的最小总宽度,n是小数点后的位数
 
 
 

 









案例
代码2.1
 1 #输入
 2 print'%#x' % 12
 3 print'%#X' % 12
 4 
 5 print'%#o' % 6
 6 
 7 #输出
 8 0xc
 9 0XC
10 06
11 
12 # tips:
13 1. 在十六进制前显示0x或0X
14 2. 在八进制前显示0

 

代码2.2 
 1 #输入
 2 print'%3.2f' % 6012.4
 3 print'%3.2f' % 6.1
 4 
 5 #输出
 6 6012.40
 7 6.10
 8 
 9 # tips:
10 1. '%m.nf'表示控制输出数值的精度,m代表总宽度,n代表小数点后位数,当数值宽度超出给定宽度时候,以实际宽度输出
代码2.3
 1 #输入
 2 print'"%d"\n' % 8
 3 print"'%d'\n" % 8
 4 
 5 #输出
 6 "8"
 7 '8'
 8 
 9 # tips:
10 输出的值带有引号或者双引号
代码2.4
 1 #输入
 2 print '%04d\n' % 8
 3 print '"%04d"\n' % 8
 4 
 5 #输出
 6 0008
 7 "0008"
 8 
 9 # tips:
10 1. 在输出的整数前以零0填充
11 2. 在输出的整数前以零0填充,并附上双引号

待完善

1.辅助符号 :* <sp> 的案例没有给出,以后再完善