您的位置:首页 > 编程语言 > Python开发

(一)Python字符串格式化

2016-10-23 00:27 351 查看
my_name = 'Zed A. Shaw'
my_age = 35
my_height = 74
my_weight = 180
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print "let's talk about %s." % my_name
print "He's %d inches tall." % my_height
print "He's %d pounds heavy." % my_weight
print "Actually that's not too heavy."
print "He's got %s eyes and %s hair." % (my_eyes,my_hair)
print "His teeth are usually %s depending on the coffee ." % my_teeth

#this line is tricky ,try to get it exactly right
print "if I add %d, %d, and %d I get %d. " % (
my_age, my_height, my_weight, my_age + my_height + my_weight
)


result:

let's talk about Zed A. Shaw.

He's 74 inches tall.

He's 180 pounds heavy.

Actually that's not too heavy.

He's got Blue eyes and Brown hair.

His teeth are usually White depending on the coffee .

if I add 35, 74, and 180 I get 289.

转载部分如下::http://c.biancheng.net/cpp/html/1844.html

字符串格式化操作符(%)只适用于字符串类型,非常类似于C 语言里面的printf()函数的字符串格式化,甚至所用的符号都一样,都用百分号(%),并且支持所有printf()式的格式化操作。语法如下:

format_string % string_to_convert

format_string为格式标记字符串,形式为“%cdoe”;string_to_convert 为要格式化的字符串,如果是两个以上,则需要用小括号括起来。

字符串格式化符号

格式化符号说明
%c转换成字符(ASCII 码值,或者长度为一的字符串)
%r优先用repr()函数进行字符串转换(Python2.0新增)
%s优先用str()函数进行字符串转换
%d / %i转成有符号十进制数
%u转成无符号十进制数
%o转成无符号八进制数
%x / %X(Unsigned)转成无符号十六进制数(x / X 代表转换后的十六进制字符的大

小写)
%e / %E转成科学计数法(e / E控制输出e / E)
%f / %F转成浮点数(小数部分自然截断)
%g / %G%e和%f / %E和%F 的简写
%%输出%
字符串格式化输出举例:

charA = 65
charB = 66
print("ASCII码65代表:%c" % charA)
print("ASCII码66代表:%c" % charB)
Num1 = 0xEF3
Num2 = 0xAB03
print('转换成十进制分别为:%u和%u' % (Num1, Num2))
Num3 = 1200000
print('转换成科学计数法为:%e' % Num3)


输出:

ASCII码65代表:A

ASCII码66代表:B

转换成十进制分别为:3827和43779

转换成科学计数法为:1.200000e+06

当然,还有一些辅助符号,如下表所示:

辅助符号说明
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号(+)
<sp>在正数前面显示空格
#在八进制数前面显示零(0),在十六进制前面显示“0x”或者“0X”(取决于用的是“x”还是“X”)
0显示的数字前面填充“0”而不是默认的空格
m.nm 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
注意:辅助符号要在百分号(%)和格式化符号之间。

辅助符号举例:

Num1 = 108
print("%#X" % Num1)
Num2 = 234.567890
print("%.2f" % Num2)


输出:

0X6C

234.57
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: