一、字符串
字符串可以理解为一段普通的文本内容,在python里,使用引号来表示一个字符串,不同的引号表示的效果会有区别。
str = 'Hello World' # 一对单引号 str = "Hello World" # 一对双引号 str = 'Tom said:"I am Tom!"' # 一对单引号 str = 'Tom said:"I\'m Tom!"' # 转义字符 str = """Tom said:"I'm Tom!""" # 三个双引号 str = '''Tom said:"I'm Tom!''' # 三个单引号
二、转义字符
转义字符 | 含义 |
---|---|
\r | 将当前位置移到本行开头 |
\n | 换行 |
\t | 用来表示一个制表符 |
\\ | 代表一个反斜线字符\ |
\’ | 用来显示一个单引号 |
\’’ | 用来显示一个双引号 |
三、字符串索引
在计算机中,每个字符串储存在相应的位置里,要取出相应的字符,需利用下标的方法(下标从0开始)
a = 'abcdefg' print(a[0]) print(a[1]) print(a[2])
结果:
注:字符串的索引下标范围为0到(len-1)或者为(-len)到-1
四、字符串遍历
所谓遍历,可以理解为按照一定的规则(一般情况下就是数据的下标),访问每一个数据。不是所有的数据都能够被遍历,字符串是可迭代对象,能够进行遍历。
可以使用while和for语句,对字符串里的元素进行遍历。
a = 'abcdefg' i = 0 while i < len(a): print(a[i]) i += 1
a = 'abcdefg' for i in a: print(i)
五、字符串切片
切片:字符串,列表 格式:字符串变量[start:end:step]---> start~end-1,默认start为0,左闭右开;最后step参数为步长,默认为1,取负数代表反方向取 例: a = 'hello world' print(a[0:5]) ---> hello print(a[-5:-1]) ---> worl print(a[-5:]) ---> world print(a[1:-1]) ---> ello worl print(a[::2]) ---> hlowrd print(a[::-1]) ---> dlrow olleh print(a[::-2]) ---> drwolh
六、字符串的常见操作
获取长度
len函数可以获取字符串的长度
a = 'hello world' print(len(a)) # ----> 11
查找内容
find
查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次出现的开始位置索引值,如果不存在,则返回-1.
语法格式:
S.find(sub[, start[, end]]) -> int
示例:
a = '趁势而上全面开启社会主义现代化建设新征程,中华人民共和国万岁!社会主义万岁!' print(a.find('社会主义')) # --->8 '社会主义'第一次出现时,'社'所在位置 print(a.find('社恐')) # ---> -1 '社恐'没有在字符串中出现,返回-1 print(a.find('社会', 12)) # ---> 31 从下标12开始查找'社会',找到'社'的位置是 print(a.find('社会', 1, 6)) # ---> -1 从下标1到6开始查找'社会',没找到返回-1
和find函数相似,不过是从右边开始查找。
和find函数相似,不过find方法未找到时,返回-1,而index未找到时会报错。
和index()一样的,只不过是从右边开始查找。
判断
判断字符串是否以指定内容开始。结果返回布尔值。语法格式:
S.startswith(prefix[, start[, end]]) -> bool
和startswith函数相似,判断字符串是否以指定内容结束。同样返回布尔值。
判断字符串是否是纯字母,同样返回一个布尔值。
判断字符串是否是纯数字,只要出现非0-9的数字,结果就是False。
判断字符串是否由数字和字母组成,只要出现了非数字和非字母,结果就是False。
判断字符串是否只包含空格,如果是则返回True。
计算出现次数
count
计算一个字符串中某个字符或者字符串出现的次数,语法格式:
S.count(sub[, start[, end]]) -> int
示例:
mystr = '趁势而上全面开启社会主义现代化建设新征程,中华人民共和国万岁!社会主义万岁!' print(mystr.count('万岁')) # 2. '万岁'字出现两次
替换内容
replace
替换字符串中指定的内容,如果指定次数count,则替换不会超过count次
示例:
str = '你说rap我说No!' new_str1 = str.replace('No', 'Yes') new_str2 = str.replace('说', '唱') new_str3 = str.replace('说', '唱', 1) print(new_str1,new_str2,new_str3)
结果:
切割字符串(切片)
以指定字符串为分隔符切片,如果 maxsplit有指定值,则仅分隔 maxsplit+1 个子字符串。返回的结果是一个列表。
示例:
a = '趁势而上全面开启社会主义现代化建设新征程,中华人民共和国万岁,社会主义万岁!' result = a.split() # 没有空白字符,所以字符串未被分割 result1 = a.split('社会') # 以'社会'为分隔符 result2 = a.split('社会', 1) # 以'社会'为分割符,最多分为2份 print(result) print(result1) print(result2)
结果:
2. rsplit
用法和split一样,只不过是从右往左进行分割
按照行分割,返回一个包含各行作为元素的列表
示例:
mystr = 'hello \nworld' print(mystr.splitlines())
结果:
4. partition
把字符串以所选内容分割问三部分。示例:
a = '趁势而上全面开启社会主义现代化建设新征程,中华人民共和国万岁,社会主义万岁!' print(a.partition('社会'))
结果:
5. rpartition
和partition一样,只不过是从右边开始
修改大小写
修改大小写的功能只对英文有效,主要包括:首字母大写capitalize,每个单词的首字母大写title,全小写lower,全大写upper。
空格处理
返回指定长度的字符串,并在右侧使用空白字符补全,即左对齐。
示例:
a = 'hello world' str = a.ljust(15) print(str) print(len(str)) str1 = a.rjust(15) print(str1) str2 = a.center(15) print(str2)
结果:
字符串拼接
把参数进行遍历,取出参数里的每一项,然后再在后面加上要拼接的字符串,最后一个参数后面不添加。
示例:
str = 'a' print(str.join('123')) print(str.join(['keep','good','data']))
结果:
作用:可以把列表或者元组快速地转为字符串,并且以指定的字符分割
示例:
txt = '_' print(txt.join(['a', 'b', 'c'])) print(txt.join(('a', 'b', 'c')))
结果:
七、补充说明
'hello' + 'world'
的结果是 'helloworld'
'hello'*2
的结果是hellohello