【Python基础教程】第3章 字符串

所有标准的序列操作(索引,分片,乘法,判断成员资格,求长度,最大值,最小值)对字符串都是同样适用的。

3.1 字符串是不可变的

在Python中,字符串和元组一样,都是不可变的,即一经创建就不可更改它。

>>> #以下的分片赋值是不合法的
>>> website = 'http://www.python.org'
>>> website[-3:] = 'com'

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    website[-3:] = 'com'
TypeError: 'str' object does not support item assignment
3.2 字符串格式化

语法: format % values

字符串格式化使用字符串格式化操作符%,在%的左边为格式化字符串,即format,在%的右边为希望格式化的值,即values

>>> format = "Hello,%s.%s enough for ya"
>>> values = ('world','Hot')
>>> print format % values
Hello,world.Hot enough for ya
>>> format = 'Pi with three decimals:%.3f'
>>> from math import pi
>>> print format % pi
Pi with three decimals:3.142
3.3 字符串常用方法

>>> #1.find:字符串中查找子字符串。
>>> #返回值:若找到了,返回子字符串坐在位置的最左端索引。若没找到,返回-1.
>>> 
>>> title = "Monty Python's Flying Circus"
>>> title.find('Monty')
0
>>> title.find('Python')
6
>>> title.find('Zirquss')
-1
>>> #指定起始点和结束点(含起始点,但不含结束点)
>>> subject = "$$$ Get rich now!!! $$$"
>>> subject.find('$$$')
0
>>> subject.find('$$$',1)
20
>>> subject.find('!!!')
16
>>> subject.find('!!!',0,16)
-1
>>> #2.join:split方法的逆方法,用来在队列中添加元素
>>> seq = ['1','2','3','4','5']
>>> sep = '+'
>>> sep.join(seq)
'1+2+3+4+5'
>>> dirs = '','usr','bin','env'
>>> '/'.join(dirs)
'/usr/bin/env'
>>> #3.lower:返回字符串的小写字母版
>>> 'Hello World'.lower()
'hello world'
>>> #4.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']
>>> '/usr/bin/env'.split('/')
['', 'usr', 'bin', 'env']
>>> 'Using the default'.split()
['Using', 'the', 'default']
>>> #注:如果不提供任何分隔符,把所有的空格作为分隔符(空格,制表,换行)
>>> #6.strip:删除两侧的空格(不包含内部)
>>> '   test   '.strip()
'test'
>>> #也可以指定需要删除的字符
>>> '***SPAM * for * everyone!!! ***'.strip(' *!')
'SPAM * for * everyone'
>>> #7.translate:与replace方法类似,可以替换字符串中的某些部分。
>>> #与replace不同的是,translate只处理单个字符,优势在于同时进行多个替换
>>> from string import maketrans
>>> table = maketrans('cs','kz')#转换表,用k替换c,用z替换s
>>> 'this is a incredible test'.translate(table)
'thiz iz a inkredible tezt'
>>> 
>>> #translate的第二个参数可选,用来指定需要删除的字符
>>> 'this is a incredible test'.translate(table,' ')
'thizizainkredibletezt'


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值