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

python基础教程(第2版)第三章读后总结;

2015-01-20 09:32 211 查看
python3基本的字符串操作索引,分片,乘法,判断成员资格,求长度,取最小值和最大值字符串都是不可变的字符串格式化使用字符串格式化操作符,即百分号%来实现,注意%也可用作求余运算基本的转换说明符1> %字符:标记转换说明符的开始2> 转换标志: -表示左对齐; +表示在转换值之前加上正负号;“”(空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充;3> 最小字段宽度: 转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出;4> .后跟精确值:如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度,如果是*,那么精度会从元组中读出。5> 转换类型1.简单转换
In [1]: 'Price of eggs: $%d' % 6
Out[1]: 'Price of eggs: $6'
2.字段宽度和精度转换说明符可以包括字段宽度和精度,字段宽度是转换后的值所保留的最小字符个数,精度(对于数字转换来说)则是结果中应该包含的小数位数,或者(对于字符串转换来说)是转换后的值所能包含的最大字符个数。
In [14]: '%2f' %pi
Out[14]: '3.141593'       //字段宽2,是这样的;
In [15]: '%3f' %pi
Out[15]: '3.141593'       //字段宽3,是这样的;
In [16]: '%5f' %pi
Out[16]: '3.141593'       //字段宽5,是这样的;
In [17]: '%9f' %pi
Out[17]: ' 3.141593'      //字段宽9,是这样的;看见没,一共八位,前面多了一个空格位;
In [18]: '%10f' %pi
Out[18]: '  3.141593'     //字段宽10,前面多了两个空格位;
In [19]: '%10.2f' %pi     //字段宽是10,精度是2,通过(.)进行分割,你记住了吗?
Out[19]: '      3.14'
In [22]: '%.5s' % 'lambert'
Out[22]: 'lambe'           //精确度为5位
3.符号,对齐和0填充在字段宽度和精度值之间还可以放置一个“标表”,该标表可以是零,加号,减号或空格.零表示数字将会用0进行填充。
In [32]: '%8.2f' %pi
Out[32]: '    3.14'
In [33]: '%08.2f' %pi
Out[33]: '00003.14'
In [38]: '%-08.2f' %pi            //"-表示左对齐"
Out[38]: '3.14    '
总结,下面打印水果的价格表单
#!/usr/bin/python2.6width = input('Pls enter width:')prime_width = 10item_width = width - prime_width### %:转换的开始,- :左对齐, * :从元组中读出header_format = '%-*s%*s'format = '%-*s%*.2f'print '=' * widthprint header_format %(item_width,'Item', prime_width,'Prime')print '-' * widthprint format %(item_width,'Apples',prime_width,6.8)print format %(item_width,'Pears',prime_width,3.8)print format %(item_width,'Oranges',prime_width,2.6)print format %(item_width,'Prunes',prime_width,3.3)print '=' * width
结果如下:[root@lambert ~]# python price.pyPls enter width:35===================================Item Prime-----------------------------------Apples 6.80Pears 3.80Oranges 2.60Prunes 3.30===================================[root@lambert ~]#4.字符串方法字符串的所有方法来源于string模块,但是这个模块还包括一些不能作为字符串方法是用的常量和函数;常用如下;4.1 find方法可以在较长的字符串中查找子字符串,它返回子字符串所在的最左侧索引,如果没有找到返回值为-1
In [33]: 'Hello,Iam Lambert.Lee'.find('I')Out[33]: 6                                   //不信你查一查In [34]: 'Hello,Iam Lambert.Lee'.find('Lambert')Out[34]: 10
4.2 join方法是非常重要的字符串方法,用在队列中添加元素;而split则相反,用来将字符串分割成序列
In [40]: Num = ['a','b','c']In [41]: sep = '+'In [42]: sep.join(Num)Out[42]: 'a+b+c'In [43]: 'a+b+c'.split('+')Out[43]: ['a', 'b', 'c']
4.3 lower方法返回字符串的小写字母版,而title方法则相反;
In [44]: 'Hello,Lambert'.lower()Out[44]: 'hello,lambert'In [45]: 'Hello,Lambert'.title()Out[45]: 'Hello,Lambert'
4.4 replace方法返回某字符串的所有匹配项均被替换之后得到字符串;
In [46]: 'this is a test'.replace ('a','')Out[46]: 'this is  test'
4.5 strip方法返回去除两侧(不包括内部)空格的字符串;
In [51]: '  lambert,  nihaoa  '.strip()Out[51]: 'lambert,  nihaoa'
4.6 translate方法和replace方法一样,可以替换字符串中的某些部分,但是和replace不同的是,translate方法只处理单个字符。它的优势在于可以同时进行多个替换,有时候比replace效率高的多。但是这个需要先建一张转换表,非常复杂,不研究了,换成string模块里面的maketrans函数就行。一般用的不多,记住有这个概念就行;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  字符串 python 小数点