首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python字符串

python字符串

作者头像
mwangblog
发布2018-07-04 14:37:49
5150
发布2018-07-04 14:37:49
举报
文章被收录于专栏:mwangblogmwangblog

字符串是若干字符的序列。

字符串是不可变的。

创建一个字符串:

>>> water = 'water water EveryWhere'
>>> water
'water water EveryWhere'

本文目录

  • 1 索引 切片
  • 2 遍历字符串
  • 3 in
  • 4 """
  • 5 操作字符串的一些函数

索引 切片

类似于列表,可以对字符串进行索引和切片(截取)。

字符串中,第1个字母的索引是0,第2个字母的索引是1……

也可以使用负索引,最后1个字母的索引是-1,倒数2个字母的索引时-2……

>>> water
'water water EveryWhere'
>>> water[0]
'w'
>>> water[-1]
'e'
>>> water[4:]
'r water EveryWhere'
>>> water[:9]
'water wat'
>>> water[4:9]
'r wat'

对于切片操作,包含第一个字母,而不包含最后一个字母。

字符串是不可变的,虽然我们可以对变量重新赋值,但不可以修改字符串:

>>> water
'water water EveryWhere'
>>> water[2] = 'b' # 修改字符串
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>> water = 'abc' # 对变量water重新赋值
>>> water
'abc'

遍历字符串

可以使用while循环遍历字符串:

>>> index = 0
>>> while index < len(water):
...     print ('%2d: %s' % (index, water[index]) )
...     index = index + 1
... 
 0: w
 1: a
 2: t
 3: e
 4: r
 5:  
 6: w
 7: a
 8: t
 9: e
10: r
11:  
12: E
13: v
14: e
15: r
16: y
17: W
18: h
19: e
20: r
21: e

其中,print()函数中%2d表示占两个字符宽度的整数。len()函数返回字符串中字符的个数。

这里例子中通过变量index的自增,通过string[index]的形式遍历字符串。

也可以使用for循环遍历字符串:

>>> water
'water water EveryWhere'
>>> for letter in water:
...     print (letter)
... 
w
a
t
e
r

w
a
t
e
r

E
v
e
r
y
W
h
e
r
e

in

使用in判断字符串是否在某个字符串中:

>>> water
'water water EveryWhere'
>>> 'ate' in water
True

"""

有的时候需要输入多行字符串,这个时候就需要使用"""了:

>>> water = """
... water
... water
... EveryWhere
... """
>>> water
'\nwater\nwater\nEveryWhere\n'
>>> print (water)

water
water
EveryWhere

>>> 

操作字符串的一些函数

使用S.lower()将字符串S中的所有字母转换为小写字母,并且作为新字符串返回。

>>> water
'water water EveryWhere'
>>> water_lower = water.lower()
>>> water_lower
'water water everywhere'
>>> water
'water water EveryWhere'

使用S.upper()将字符串S中所有字母转换为大写字母,并且作为新字符串返回。

>>> water
'water water EveryWhere'
>>> water.upper()
'WATER WATER EVERYWHERE'

S.count(sub, start, end)返回字符串S的切片(起于start,终于end(不包括),且这两个参数可选)中字符串sub的个数。

>>> water
'water water EveryWhere'
>>> water.count ('er')
4
>>> water.count ('er', 5)
3
>>> water.count ('er', 5, 8)
0

S.count(sub, start, end)返回字符串S的切片(其余start,终于end(不包括),且这两个参数可选)中第一次出现字符串sub的正索引。如果没有,返回-1.

>>> water
'water water EveryWhere'
>>> water.find('er')
3
>>> water.find('er', 4)
9
>>> water.find('er', 4, 7)
-1

S.replace (old, new, count),将字符串S中的字符串old替换为字符串new,并作为新字符串返回。参数count可选,如果它被指定,则替换不会超过count次。

>>> water
'water water EveryWhere'
>>> water.replace ('wat', 'taw')
'tawer tawer EveryWhere'

S.lstrip(chars)删除字符串S左侧的字符串chars或者空白字符(chars未指定),并作为新字符串返回。

S.rstrip(chars)删除字符串S右侧的字符串chars或者空白字符(chars未指定),并作为新字符串返回。

S.strip(chars)在字符串S上执行S.lstrip(chars)S.rstrip(chars)

>>> monkey
' diu diu diu diu '
>>> monkey.lstrip()
'diu diu diu diu '
>>> monkey.rstrip()
' diu diu diu diu'
>>> monkey.strip()
'diu diu diu diu'
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 mwangblog 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 索引 切片
  • 遍历字符串
  • in
  • """
  • 操作字符串的一些函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档