Python 3:字符串和编码

字符编码

8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111 = 十进制255)

Python的字符串

在最新的Python3中,字符串是以Unicode编码的,所以,python的字符串支持多种语言,例如:

>>>print("包含中文的str")
包含中文的str

格式化

>>> "Hello, %s" % "world"
"Hello,world"
>>> "Hi,%s,you have $%d." % ("Michael", 10000)
"Hi,Michaek,you have $1000"

%运算符就是用来格式化字符串的。在字符串内部,%s 表示用字符串替换,%d 表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。

占位符 替换内容
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数

如果不确定应该用什么,%s 永远起作用,它会把任何数据类型转换为字符串:

>>>"Age : %s. Gender: %s" % (25, true)
"Age : 25. Gender: True"

用%% 来表示一个 %

>>> "growth rate : %d %% " % 7
"growth rate: 7 %"

format()
它会用传入的参数依次替换字符串内的占位符{0},{1}.....,不过这种方式写起来比% 要麻烦的多:

>>> "Hello,{0},成绩提升了{1:.1}%".format("小明",17.125)
"Hello,小明,成绩提升了 17.1%"

练习:小明成绩从去年72分提升到今年的85分,计算小明成绩提升的百分点,并用字符串格式化显示“XX.X%”,只保留小数点后一位:

s1 = 72
s2 = 85
r = (s2 - s1) / s1 *100
print("小明成绩提升的百分点:%.1f%%" % r)

你可能感兴趣的:(Python 3:字符串和编码)