`
wwweducn
  • 浏览: 29396 次
文章分类
社区版块
存档分类
最新评论

字符串、转换-《Python基础教程》学习笔记 -by小雨

阅读更多

在写这篇文章之前,xxx经已写过了几篇关于改字符串、转换-主题的文章,想要了解的朋友可以去翻一下之前的文章

    符字串都是不可变的,例如以下的分片是不允许的:

    01(108)

 

    符字串格式化操作符即百分号%;

    例:

    01(109)

    %s为符字串的转换符字(conversion specifier);

    如果要在格式化符字串里头括包百分号,那么必须用使%%;

    如果要格式化输出浮点数,可以用使%f,若要设置留保数小点几位可以写成%.2f,意思是留保数小点后2位,例:

    01(110)

    如果要转换的操作数是元组的话,须要用括号括起来,例:

    01(111)

    因为元组中的个一每素元会都被独单格式化;

 

    转换符说明:

    %符字:转换说明符的开始;

    转换标记(可选):-表现左对齐,+表现加上正负号,""空白符字表现正数之前留空格,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转换);

    例:

    01(112)

    注意,%e、%E和%f默许留保数小点后6位,可以通过似类%.10e来修改;

    例,简略的转换;

    01(113)

 

    字段宽度和精度

    字段宽度是转换后的值所留保的最小符字个数;

    精度(对于字数来讲)则是结果中该应括包的数小位数,若是对于符字串来讲是转换后所能括包的最大符字个数;

    例:

    01(114)

    数小点面后的是字段宽度为最少要显示的符字数(如果足不默许用空格填充),而小点面后的为精度表现最大可以显示的符字数,注意在符字串中用使,如果精度小于宽度,会把面后的数据截断然后在面后填充空格;

    另外,可以用使*作为字段宽度或者精度,此时该值会从元组中获得,例:

    01(115)

 

    号符、对齐和0充补

    在字段宽度和精度的面后还可以放置一个"标识":0、+、-和空格;

    0表现:如果字数位数够不,就在面后用0填充;

    -表现:左对齐(右边现出空格);

    空格表现:在正数面后加空格,用在正正数对齐上;

    +表现:是管不正数还是正数都标出号符;

    例:

    01(116)

    例,符字串格式化示例:用使给定的宽度打印格式化后的价格表;

    代码:

    01(117)

    header_format = '%-*s%*s' 表现格式化2个符字串,第一个符字串为左对齐,字段宽度从元组读取,第二个符字串为默许的右对齐,字段宽度也是从元组读取;

    foramt = '%-*s%*.2f' 表现格式化一个符字串一个浮点数,第一个符字串为左对齐,字段宽度从元组读取,浮点数为默许右对齐,字段宽度从元组读取,精度为2;

    运行结果:

    01(118)

 

    符字串法方

    find

    这个法方可以在一个较长的符字串中查找子符字串,它返回符字串所在置位的最左端索引(也就是这个键关字首字母的置位),如果没找到返回-1;

    例:

    01(119)

    find法方不返回布尔值,这里返回0表现在在索引0的置位,也就是肇端置位;

    另外find法方还可以设置索搜的点起和点终,例:

    01(120)

    当限制搜索点起和点终时,如果符字串没有完全括包在内,是查找不到的,另外在搜索时点终索引会少减1个去比对,如果要能准确搜索到符字串需将点终索引加1;

 

    join

    用来在列队中添加素元;

    例:

    01(121)

    注意:须要添加的列队素元必须都是符字串;

 

    lower

    返回符字串的小写字母版;

    例:

    01(122)

    和lower相光的还有title()和capwords()函数,用来把单词首字母大写,例:

    01(123)

 

    replace

    返回替换某键关字后的新符字串;

    例:

    01(124)

    也就是似类本文工具中的查找替换能功;

 

    split

    它是join的逆法方,用来将符字串分割成列序;

    例:

    01(125)

    如果不供提任何分隔符,程序会把全部空格(制表符、换行符)作为分割符;

 

    strip

    该法方法方返回去除两侧(不括包外部)空格的符字串;

    例:

    01(126)

    也可以指定要去除的符字:

    01(127)

    注意不加空格的区分;

 

    translate

    用来替换符字串的某些部份,和replace不同的是,translate法方只处理单个符字;

    在用使translate之前,要先创立一张转换表,转换表中是以某符字替换某符字的对应关系,这里可以用使string块模里的maketrans函数创立;

    例:

    01(128)

    创立一张转换表,把c替换为k,s替换为z,另外translate法方的第二个数参为可选,表现否是须要删除某个符字,这里删除的是空格;

    面下看看创立的这个转换里表面有什么:

    01-1(13)

    这张转换表中我们要替换的符字经已被换掉,也就是translate须要照参一张似类ASICC的表;

 

文章结束给大家分享下程序员的一些笑话语录: 3G普不普及现在已经不是看终端了,而是看应用,有好的,便宜实用的应用,花1000多买个能用的智能手机应该不是什么难事。反过来说,你200元拿一个智能手机,没有好的应用,看个电影要几十元,也是没人用3G。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics