Python基础之字符串
1.1 字符串的定义
我们在介绍数据类型的时候,简单介绍了一下字符串类型。因为字符串是Python语言中特别重要的概念(不仅仅是Python,在其他语言中也有着举重若轻的位置),我们详细的讲解一下字符串的用法。
我们已经知道了,单引号,双引号,包括三引号包围的字符组,就是字符串,例如
str = 'hello'#定义字符串变量 str = \"helo\"#定义字符串变量 str = \"\"\"hello
hello\"\"\"#定义多行字符串变量
1.2 下标和切片
1. 下标索引
下标在Python中的概念就是编号的意思, 字符串 元组 列表 都会经常用到下标的概念,我们可以根据下标找到它们所对应的元素.就好像生活中你要准备去看电影,电影票上的座位号找到对应的位置.
我们现在考虑这样的一个问题,例如我们创建了一个字符串 name = zhang ,我现在想取到名为 name 字符串里面的a字符.如何去取呢?,其实我们可以通过我们讲过的for循环来遍历这个字符串,通过这种方法来取出字符串里的字符,但是 Python 给我们提供了更为简便的方法,我们就可以用下标来取出 a 字符
name = 'zhangsan' print(name[2])
运行结果:
a
2. 切片
我们可以利用下表索引取到字符串里面对应的一个元素,但如果想要截取一段元素就要用到切片片.
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
切片的语法: [起始:结束:步长] 我们以字符串为例讲解。
如果取出一部分,则可以在中括号 [] 中,使用:
n
ame = 'abcdef'
print(name[0:3]) # 取 下标0~2 的字符 运行结果: abc
name = 'abcdef'
print(name[3:5]) # 取 下标为3、4 的字符 运行结果 : de
name = 'abcdef'
print(name[2:]) # 取 下标为2开始到最后的字符 运行结果: cdef
支持负数
name = 'abcdef'
print(name[1:-1]) # 取 下标为1开始 到 最后第2个 之间的字符 运行结果: bcde
a = \"abcdef\" a[:3] 'abc' a[::2] 'ace' a[5:1:2] ''
a[1:5:2] 'bd' a[::-2] 'fdb'
a[5:1:-2] 'fd'
1.3 字符串的常见操作
如有字符串 mystr = 'hello world kkb' ,以下是常见的操作 1. find
检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1
mystr.find(str, start=0, end=len(mystr))
例如:
mystr = 'hello world kkb' mystr.find(\"kkb\")
运行结果为:12
mystr = 'hello world kkb'
mystr.find(\"kkb\",0,10)#在mstr字符串0-10下标范围查询 运行结果:-1
2. index
跟 find() 方法一样,只不过如果 str 不在 mystr中会报一个异常
mystr.index(str, start=0, end=len(mystr))
例如:
mystr = 'hello world kkb' mystr.index(\"ab\")
运行结果:控制台会直接报错(Vale Error:substring not found)
3. count
返回 str 在start和end之间 在 mystr里面出现的次数
mystr.count(str, start=0, end=len(mystr))
例如:
mystr = 'hello world kkb and kkb' mystr.count('kkb') 运行结果:2
4. replace
把 mystr 中的 str1 替换成 str2 ,如果 count 指定,则替换不超过 count 次.
mystr.replace(str1, str2, mystr.count(str1))
5. split
以 str 为分隔符切片 mystr ,如果 maxsplit 有指定值,则仅分隔 maxsplit 个子字符串
mystr.split(str=\" \", 2)
6. capitalize
把字符串的第一个字符大写
mystr.capitalize()
7. title
a = \"hello kkb\" a.title() 运行结果
'Hello Kkb'
8. startswith
检查字符串是否是以 hello 开头, 是则返回 True ,否则返回 False
mystr.startswwith(\"hello\")
9. endswith
检查字符串是否以 obj 结束,如果是返回 True ,否则返回 False .
mystr.endswith(\"obj\")
10. lower
转换 mystr 中所有大写字符为小写
mystr.lower()
11. upper
转换 mystr 中的小写字母为大写
mystr.upper()
12. ljust
返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
mystr.ljust(width)
13. rjust
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
mystr.rjust(width)
14. center
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
mystr.center(width)
15. lstrip
删除 mystr 左边的空白字符
mystr.lstrip()
16. rstrip
删除 mystr 字符串末尾的空白字符
mystr.rstrip()
17. strip
删除 mystr 字符串两端的空白字符
a = \"\\n\ kkb \\\n\" a.strip() 运行结果: 'kkb'
18. rfind
类似于 find() 函数,不过是从右边开始查找
mystr.rfind(str, start=0,end=len(mystr) )
19. rindex
类似于 index() ,不过是从右边开始.
mystr.rindex( str, start=0,end=len(mystr))
20. partition
把 mystr 以 str 分割成三部分, str 前, str 和 str 后
mystr.partition(str)
21. rpartition
类似于 partition()函数,不过是从右边开始.
mystr.rpartition(str)
22. splitlines
按照行分隔,返回一个包含各行作为元素的列表
mystr.splitlines()
23. join
为每个str的后边插入mystr,构造出一个新字符串
mystr.join(str)
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务