码迷,mamicode.com
首页 > 编程语言 > 详细

python字符串格式化

时间:2015-08-13 12:30:02      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:python字符串格式化

格式          描述

%d            有符号整数(十进制)

%i            有符号整数(十进制) 

%o            无符号整数(八进制)

%u            无符号整数(十进制)

%x            无符号整数(十六进制)

%X            无符号整数(十六进制大写字符)

%e            浮点数字(科学计数法)

%E            浮点数字(科学计数法,用E代替e)

%f            浮点数字(用小数点符号)

%F

%g            浮点数字(根据值的大小采用%e或%f)

%G            浮点数字(类似于%g)

%c            字符及其ASCII码

%r            用rper()方法处理对象

%s            字符串 用str()方法处理对象,用来做 debug 比较好

%%            百分号标记 #就是输出一个%

%p            指针(用十六进制打印值的内存地址)

%n            存储输出字符的数量放进参数列表的下一个变量中


%格式化符也可用于字典,可用%(name)引用字典中的元素进行格式化输出。

负号指时数字应该是左对齐的,“0”告诉Python用前导0填充数字,正号指时数字总是显示它的正负(+,-)符号,即使数字是正数也不例外。

可指定最小的字段宽度,如:"%5d" % 2。也可用句点符指定附加的精度,如:"%.3d" % 3。


e.g.

# 例:数字格式化

nYear = 2018

nMonth = 8

nDay = 18

# 格式化日期 %02d数字转成两位整型缺位填0

print  ‘%04d-%02d-%02d‘%(nYear,nMonth,nDay)

>> 2018-08-18# 输出结果


fValue = 8.123

print ‘%06.2f‘%fValue# 保留宽度为6的2位小数浮点型

>> 008.12# 输出


print ‘%d‘%10# 输出十进制

>> 10

print ‘%o‘%10# 输出八进制

>> 12

print ‘%02x‘%10# 输出两位十六进制,字母小写空缺补零

>> 0a

print ‘%04X‘%10# 输出四位十六进制,字母大写空缺补零

>> 000A

print ‘%.2e‘%1.2888# 以科学计数法输出浮点型保留2位小数

>> 1.29e+00


 格式化操作符辅助指令

符号              作用

*           定义宽度或者小数点精度

-           用做左对齐

+          在正数前面显示加号( + )

<sp>      在正数前面显示空格

#         在八进制数前面显示零(‘0‘),在十六进制前面显示‘0x‘或者‘0X‘(取决于

          用的是‘x‘还是‘X‘)

0        显示的数字前面填充‘0’而不是默认的空格

%           ‘%%‘输出一个单一的‘%‘

(var)    映射变量(字典参数)

m.n       m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)



基本使用方法:

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


技术分享

python字符串格式化

标签:python字符串格式化

原文地址:http://tianshili.blog.51cto.com/5050423/1684246

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!