在写这篇文章之前,xxx经已写过了几篇关于改字符串、转换-主题的文章,想要了解的朋友可以去翻一下之前的文章
符字串都是不可变的,例如以下的分片是不允许的:
符字串格式化操作符即百分号%;
例:
%s为符字串的转换符字(conversion specifier);
如果要在格式化符字串里头括包百分号,那么必须用使%%;
如果要格式化输出浮点数,可以用使%f,若要设置留保数小点几位可以写成%.2f,意思是留保数小点后2位,例:
如果要转换的操作数是元组的话,须要用括号括起来,例:
因为元组中的个一每素元会都被独单格式化;
转换符说明:
%符字:转换说明符的开始;
转换标记(可选):-表现左对齐,+表现加上正负号,""空白符字表现正数之前留空格,0表现转换值的位数若不值则用0填充;
最小字段宽度(可选):转换后的符字串最少该应占有该指定值得宽度,如果是*,则宽度从元组中读取;
.后跟精度值(可选):如果转换的是浮点型数,精度值表现的就是数小点后的位数,如果转换的是符字串,那么该值就是最大字宽度,如果是*,那么精度会从元组中读出;
转换型类:
d, i : 带号符的十进制正数;
o : 不带号符的八进制;
u : 不带号符的十进制;
x : 不带号符的十六进制(小写);
X : 不带号符的十六进制(大写);
e : 科学计数法表现的浮点数(小写);
E : 科学计数法表现的浮点数(大写);
f, F : 十进制浮点数;
g : 如果数指大于-4或小于精度值则和e同相,否则与f同相;
G : 如果数指大于-4或小于精度值则和E同相,否则与F同相;
C : 单符字;
r : 符字串(用使repr转换);
s : 符字串(用使str转换);
例:
注意,%e、%E和%f默许留保数小点后6位,可以通过似类%.10e来修改;
例,简略的转换;
字段宽度和精度
字段宽度是转换后的值所留保的最小符字个数;
精度(对于字数来讲)则是结果中该应括包的数小位数,若是对于符字串来讲是转换后所能括包的最大符字个数;
例:
数小点面后的是字段宽度为最少要显示的符字数(如果足不默许用空格填充),而小点面后的为精度表现最大可以显示的符字数,注意在符字串中用使,如果精度小于宽度,会把面后的数据截断然后在面后填充空格;
另外,可以用使*作为字段宽度或者精度,此时该值会从元组中获得,例:
号符、对齐和0充补
在字段宽度和精度的面后还可以放置一个"标识":0、+、-和空格;
0表现:如果字数位数够不,就在面后用0填充;
-表现:左对齐(右边现出空格);
空格表现:在正数面后加空格,用在正正数对齐上;
+表现:是管不正数还是正数都标出号符;
例:
例,符字串格式化示例:用使给定的宽度打印格式化后的价格表;
代码:
header_format = '%-*s%*s' 表现格式化2个符字串,第一个符字串为左对齐,字段宽度从元组读取,第二个符字串为默许的右对齐,字段宽度也是从元组读取;
foramt = '%-*s%*.2f' 表现格式化一个符字串一个浮点数,第一个符字串为左对齐,字段宽度从元组读取,浮点数为默许右对齐,字段宽度从元组读取,精度为2;
运行结果:
符字串法方
find
这个法方可以在一个较长的符字串中查找子符字串,它返回符字串所在置位的最左端索引(也就是这个键关字首字母的置位),如果没找到返回-1;
例:
find法方不返回布尔值,这里返回0表现在在索引0的置位,也就是肇端置位;
另外find法方还可以设置索搜的点起和点终,例:
当限制搜索点起和点终时,如果符字串没有完全括包在内,是查找不到的,另外在搜索时点终索引会少减1个去比对,如果要能准确搜索到符字串需将点终索引加1;
join
用来在列队中添加素元;
例:
注意:须要添加的列队素元必须都是符字串;
lower
返回符字串的小写字母版;
例:
和lower相光的还有title()和capwords()函数,用来把单词首字母大写,例:
replace
返回替换某键关字后的新符字串;
例:
也就是似类本文工具中的查找替换能功;
split
它是join的逆法方,用来将符字串分割成列序;
例:
如果不供提任何分隔符,程序会把全部空格(制表符、换行符)作为分割符;
strip
该法方法方返回去除两侧(不括包外部)空格的符字串;
例:
也可以指定要去除的符字:
注意不加空格的区分;
translate
用来替换符字串的某些部份,和replace不同的是,translate法方只处理单个符字;
在用使translate之前,要先创立一张转换表,转换表中是以某符字替换某符字的对应关系,这里可以用使string块模里的maketrans函数创立;
例:
创立一张转换表,把c替换为k,s替换为z,另外translate法方的第二个数参为可选,表现否是须要删除某个符字,这里删除的是空格;
面下看看创立的这个转换里表面有什么:
这张转换表中我们要替换的符字经已被换掉,也就是translate须要照参一张似类ASICC的表;
文章结束给大家分享下程序员的一些笑话语录: 3G普不普及现在已经不是看终端了,而是看应用,有好的,便宜实用的应用,花1000多买个能用的智能手机应该不是什么难事。反过来说,你200元拿一个智能手机,没有好的应用,看个电影要几十元,也是没人用3G。