首页 > 代码库 > python输出格式化及函数format

python输出格式化及函数format

总结了一些简单基本的输出格式化形式以及函数format函数基本使用形式。

 

字符串格式化代码:

 

格式描述
%%百分号标记
%c字符及其ASCII码
%s字符串
%d有符号整数(十进制)
%u无符号整数(十进制)
%o无符号整数(八进制)
%x无符号整数(十六进制)
%X无符号整数(十六进制大写字符)
%e浮点数字(科学计数法)
%E浮点数字(科学计数法,用E代替e)
%f浮点数字(用小数点符号)
%g浮点数字(根据值的大小采用%e或%f)
%G浮点数字(类似于%g)
%p指针(用十六进制打印值的内存地址)
%n存储输出字符的数量放进参数列表的下一个变量中

 

基本方法的使用:

 

 1 #!/usr/bin/python 2 #coding=utf-8 3 ‘‘‘ 4 可以指定所需长度的字符串的对齐方式: 5 < (默认)左对齐 6 > 右对齐 7 ^ 中间对齐 8 = (只用于数字)在小数点后进行补齐 9 ‘‘‘10 print (‘1:\t|{0:>10},‘.format(‘wangyu‘))11 print (‘2:\t|{0:4.2f}‘.format(1.1415926))12 print (‘3:\t|‘,format(1.1415926,‘<10.2f‘))13 print (‘4:\t|{0:<10},{1:<15}‘.format(‘wangyu‘,1.1415926))14 print (‘5:\t|User ID: {uid} Last seen: {last_login}‘.format(uid=‘root‘,last_login = ‘5 Mar 2008 07:20‘) )15 16 ‘‘‘格式化指示符可以包含一个展示类型来控制格式。17 例如,浮点数可以被格式化为一般格式或用幂来表示。18 ‘b‘ - 二进制。将数字以2为基数进行输出。19 ‘c‘ - 字符。在打印之前将整数转换成对应的Unicode字符串。20 ‘d‘ - 十进制整数。将数字以10为基数进行输出。21 ‘o‘ - 八进制。将数字以8为基数进行输出。22 ‘x‘ - 十六进制。将数字以16为基数进行输出,9以上的位数用小写字母。23 ‘e‘ - 幂符号。用科学计数法打印数字。用‘e‘表示幂。24 ‘g‘ - 一般格式。将数值以fixed-point格式输出。当数值特别大的时候,用幂形式打印。25 ‘n‘ - 数字。当值为整数时和‘d‘相同,值为浮点数时和‘g‘相同。不同的是它会根据区域设置插入数字分隔符。26 ‘%‘ - 百分数。将数值乘以100然后以fixed-point(‘f‘)格式打印,值后面会有一个百分号。27 ‘‘‘28 29 print (‘6:\t|{0:b}‘.format(3))30 print (‘7:\t|{0:c}‘.format(3))31 print (‘8:\t|{0:d}‘.format(3))32 print (‘9:\t|{0:o}‘.format(3))33 print (‘10:\t|{0:x}‘.format(3))34 print (‘11:\t|{0:e}‘.format(3.75))35 print (‘12:\t|{0:g}‘.format(3.75))36 print (‘13:\t|{0:n}‘.format(3.75))#浮点数37 print (‘14:\t|{0:n}‘.format(3))  #整数38 print (‘15:\t|{0:%}‘.format(3.75))39 40 #输入形式的控制format41 a = int(input(‘a:‘))42 b = int(input(‘b:‘))43 print (‘16:\t|%*.*f‘ % (a, b, 1.1415926))44 45 print (‘17:\t|{array[2]}‘.format(array=range(10)))46 print (‘18:\t|{attr.__class__}‘.format(attr=0))47 print (‘19:\t|{digit:*^ 10.5f}‘.format(digit=1.0/3))48 49 ‘‘‘50 类和类型可以定义一个__format__()方法来控制怎样格式化自己。51 它会接受一个格式化指示符作为参数:52 ‘‘‘53 def __format__(self, format_spec):54     if isinstance(format_spec, unicode):55         return unicode(str(self))56     else:57         return str(self)

<iframe id="iframe_0.32757654396922153" src="data:text/html;charset=utf8,%3Cstyle%3Ebody%7Bmargin:0;padding:0%7D%3C/style%3E%3Cimg%20id=%22img%22%20src=%22http://static.oschina.net/uploads/space/2013/0528/103002_FCtE_259961.png?_=6069977%22%20style=%22border:none;max-width:1022px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById(‘img‘);%20window.parent.postMessage(%7BiframeId:‘iframe_0.32757654396922153‘,width:img.width,height:img.height%7D,%20‘http://www.cnblogs.com‘);%7D%3C/script%3E" frameborder="0" scrolling="no" width="320" height="240"></iframe>

 

#!/usr/bin/python#coding=utf-8#使用str.format()函数#使用‘{}‘占位符print(‘I\‘m {},{}‘.format(‘Hongten‘,‘Welcome to my space!‘))print(‘#‘ * 40)#也可以使用‘{0}‘,‘{1}‘形式的占位符print(‘{0},I\‘m {1},my E-mail is {2}‘.format(‘Hello‘,‘Hongten‘,‘hongtenzone@foxmail.com‘))#可以改变占位符的位置print(‘{1},I\‘m {0},my E-mail is {2}‘.format(‘Hongten‘,‘Hello‘,‘hongtenzone@foxmail.com‘))print(‘#‘ * 40)#使用‘{name}‘形式的占位符print(‘Hi,{name},{message}‘.format(name = ‘Tom‘,message = ‘How old are you?‘))print(‘#‘ * 40)#混合使用‘{0}‘,‘{name}‘形式print(‘{0},I\‘m {1},{message}‘.format(‘Hello‘,‘Hongten‘,message = ‘This is a test message!‘))print(‘#‘ * 40)#下面进行格式控制import mathprint(‘The value of PI is approximately {}.‘.format(math.pi))print(‘The value of PI is approximately {!r}.‘.format(math.pi))print(‘The value of PI is approximately {0:.3f}.‘.format(math.pi))table = {‘Sjoerd‘: 4127, ‘Jack‘: 4098, ‘Dcab‘: 7678}for name, phone in table.items():    print(‘{0:10} ==> {1:10d}‘.format(name, phone))table = {‘Sjoerd‘: 4127, ‘Jack‘: 4098, ‘Dcab‘: 8637678}print(‘Jack: {0[Jack]:d}; Sjoerd: {0[Sjoerd]:d}; ‘‘Dcab: {0[Dcab]:d}‘.format(table))

 

技术分享

 原文: http://www.cnblogs.com/RukawaKaede/p/6069977.html

python输出格式化及函数format