第3章 Python笔记 使用字符串
来源:互联网 发布:淘宝最好的饰品店 编辑:程序博客网 时间:2024/05/16 12:38
一、基本字符串操作
所有标准的序列操作(分片、索引、乘法、成员资格、求长度、最大值、最小值)对于字符串同样适用,但是字符串是不可变的,也就是说不能对字符串进行修改。
二、字符串格式化
1、基本语法
1.1 字符串使用字符串格式化操作符 “%” 来实现格式化,在%的左侧放置一个字符串,右侧放置希望被格式化的值。
>>> format="Hello,%s,%s enough for ya?">>> values=('world','Hot')>>> print format % valuesHello,world,Hot enough for ya?其中%s称为转换说明符,它标记了需要插入转换值的位置。s表示值会被格式化为字符串——如果不是字符串,则会用str将其转换为字符串。
注意:只有元组和字典可以格式化一个以上的值,使用其他序列会被解释为一个值。
1.2 如果要格式化实数(浮点数),可以使用f说明转换说明符的类型,同时提供所需要的精度:一个句点加上希望保留的小数位数。
>>> format="Pi with three decimals:%.3f">>> from math import pi>>> print format % piPi with three decimals:3.142精度应该放在类型字符前面。
1.3 模板字符串
substitute模板方法使传递进来的关键字参数foo替换字符串中的$foo:
>>> from string import Template>>> s=Template('$x,glorious $x!')>>> s.substitute(x='slurm')'slurm,glorious slurm!'如果替换字符串是单词的一部分,那么参数名必须用括号括起来:
>>> s=Template("It's ${x}tastic!")>>> s.substitute(x='slurm')"It's slurmtastic!"美元$符号用$$插入:
>>> s=Template("Make $$ selling $x")>>> s.substitute(x='slurm')'Make $ selling slurm'也可以使用字典变量提供值/名称对:
>>> s=Template('A $thing must never $action.')>>> d={}>>> d['thing']='gentleman'>>> d['action']='show his socks'>>> s.substitute(d)'A gentleman must never show his socks.'2、完整的进行字符串格式化
2.1 基本的转换说明符包括以下几个部分。注意,这些项的顺序是固定的。
(1)%字符:标记转换说明符的开始。
(2)转换标志(可选):- 表示左对齐;+表示在转换值之前要加上正负号;""(空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充。
(3)最小字段宽度(可选):转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出。
(4)点(.)后跟精度值(可选):如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度会从元组中读出。
(5)转换类型:见下表。
2.2 简单转换
>>> 'Price of egg:$%d'%42'Price of egg:$42'>>> 'Hexadecimal price of eggs:%x'%42'Hexadecimal price of eggs:2a'>>> from math import pi>>> 'Pi:%f...'%pi'Pi:3.141593...'>>> 'Very inexact estimate of pi:%i'%pi'Very inexact estimate of pi:3'>>> 'Using str:%s'%42L'Using str:42'>>> 'Using repr:%r'%42L'Using repr:42L'2.3 字段宽度和精度
字段宽度是指转换后的值所保留的最小字符个数。
精度指的是结果中应该包含的小数位数,或者(对于字符串)是转换后的值所能包含的最大字符个数。
格式为(字段宽度.精度),如果只给出精度,就必须包含点号;如果只给出字段宽度,则不需要加点号:
>>> '%10f'%pi #字段宽10' 3.141593'>>> '%10.2f'%pi #字段宽10,精度为2' 3.14'>>> '%.2f'%pi #精度2'3.14'>>> '%.5s'%'Guido van Rossum''Guido'使用*作为字段宽度或者精度,此时数值会从元组参数中读出:
>>> '%.*s'%(5,'Guido van Rossum')'Guido'2.4 符号、对齐和用0填充
用0填充:
>>> '%010.2f'%pi'0000003.14'(-)左对齐:
>>> '%-10.2f'%pi'3.14 '("")也就是空白,相当于空格,表示正数前加空格:
>>> print('% 5d'%10)+'\n'+('% 5d'% -10) 10 -10以上操作符都应放在字段宽度和精度的前面,顺序严格按照2.1所示的顺序执行。
三、字符串方法
1、find方法用于在一个较长的字符串中查找子串,返回子串所在位置的最左端索引,如果没有则返回-1。
>>> 'With a moo-moo here,and amoo-moo there'.find('moo')7>>> title="Monty Pyhon's Flying Circus">>> title.find('Monty')0>>> title.find('Pyhon')6>>> title.find('Flying')14>>> title.find('Zirquss')-1该方法还可以接收可选的起始点和结束点参数:
>>> subject='$$$ Get rich now!!! $$$'>>> subject.find('$$$')0>>> subject.find('$$$',1)20>>> subject.find('!!!')16>>> subject.find('!!!',0,16)-12、join方法用来连接序列中的元素:
>>> seq=[1,2,3,4,5]>>> sep='+'>>> sep.join(seq)Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> sep.join(seq)TypeError: sequence item 0: expected string, int found>>> seq=['1','2','3','4','5']>>> sep='+'>>> sep.join(seq)'1+2+3+4+5'>>> dirs='', 'usr', 'bin', 'env'>>> '/'.join(dirs)'/usr/bin/env'>>> print 'C:'+'\\'.join(dirs)C:\usr\bin\env可以看到,需要连接的序列元素都必须是字符串。
3、lower方法返回字符串的小写字母版:
>>> 'Trondheim Hammer Dance'.lower()'trondheim hammer dance'4、replace
replace方法返回某字符串的所有匹配项均被替换之后得到字符串。类似于“查找并替换”的功能。
>>> 'This is a test'.replace('is','eez')'Theez eez a test'5、split方法是join的逆方法,用来将字符串分割成序列。
>>> '1+2+3+4+5'.split('+')['1', '2', '3', '4', '5']>>> 'Using the default'.split()['Using', 'the', 'default']注意:如果不提供任何分隔符,程序会把所有空格作为分隔符(空格、制表、换行等)。
6、strip方法返回去除两侧(不包括内部)空格的字符串:
>>> ' internal whitespace is kept '.strip()'internal whitespace is kept'也可以指定去除的字符:
>>> '*** SPAM * for * wvwryone!!! ***'.strip('*!')' SPAM * for * wvwryone!!! '>>> '*** SPAM * for * wvwryone!!! ***'.strip( '*')' SPAM * for * wvwryone!!! '上述两段代码的结果一样,目前不清楚!的具体意思
7、translate方法和replace方法一样,唯一的区别在于translate方法只处理单个字符,它的优势在于可以同时进行多个替换,有时候比replace效率高。
- 第3章 Python笔记 使用字符串
- 《Python基础教程 第2版·修订版》第3章 使用字符串(学习笔记)
- Python基础教程之第3章 使用字符串
- Python学习笔记-第三章 使用字符串
- python学习笔记3:使用字符串
- python学习笔记3-使用字符串
- python学习手册笔记--第7章--字符串
- <<Python基础教程>>学习笔记 | 第03章 | 字符串
- 第3章 使用字符串
- 【Python基础教程】第3章 字符串
- python使用笔记(第一篇)
- python笔记三-使用字符串
- 《Python学习手册》学习笔记(7)之第7章字符串(关键词:编程语言/Python/字符串)
- Python 学习笔记(三) 使用字符串
- Python基础教程笔记——使用字符串
- Python基础教程笔记——使用字符串
- Python基础教程笔记——使用字符串
- 《Python基础教程》学习笔记 Chap3 使用字符串
- 计提凭证两种处理方案
- httpurlconnectionpost
- 编译--链接--被执行
- 【Linux】ALL常用命令
- 整数中1出现的次数(从1到n中出现的次数)
- 第3章 Python笔记 使用字符串
- httpurlconnectionget
- js数字转换货币格式
- nodejs 调用百度TextToSpeech的api
- 组合数取模的各种方法
- 欢聚时代”狼人杀“产品岗面试总结——产品岗
- 关于数组中排序方法的实现
- 编程高手与调试高手
- StreamTools 工具