全站年SVIP
全站1000+试题无限查看
# 字符串的使用区别 a = 'hello' \ ' world' print(a) # 输出一行 hello world c = '''hello world''' print(type(c)) print(c) # 换行输出hello world d = """hello world""" print(type(d)) # <class 'str'> print(d) # 会直接换行输出 # 打印 I'm Tom,使用单引号,必须使用转移字符,把他转义过去 e = 'I\'m Tom' print(e) # 要是有单引号出现可以使用双引号括住 f = "I' love Tom" print(f) ============================================================================ # 字符串的输出 name = 'Tom' print('我的名字是%s' % name) print(f'我的名字是{name}') ============================================================================== # 字符串的输入 password = input('请输入您的密码') print(f'您输入的密码是{password}') # input接收到的用户输入的数据都是字符串 print(type(password))
(1)下标
str1 = 'abcdefg' print(str1) # 数据在运行过程中存储在内存 # 使用字符串中特定的数据 # 使用编号精确找到某个字符数据,下标索引值 # str[下标] print(str1[0]) # 输出a print(str1[1]) # 输出b
(2)切片
# 序列名[开始位置的下标:结束位置的下表:步长] # 取值区间左闭右开的 str1 = '012345678' # print(str1[2:5:1]) 234 # print(str1[2:5:2]) 24 # print(str1[2:5]) 234 # 如果不写步长,默认步长是1 # print(str1[:5]) 01234 # 如果不写开始,默认从0开始选取 # print(str1[2:]) 2345678 # 如果不写结束,表示选取到最后 # print(str1[:]) 012345678 # 如果不写开始和结束,表示选取所有 # 负数测试 # print(str1[::-1]) 876543210 # 如果步长为负数,表示倒叙选取 # print(str1[-4:-1]) 567 下标为-1表示最后一个数据,依次向前类推 # 终极测试 # print(str1[-4:-1:1]) 567 print(str1[-4:-1:-1]) # 不能选取出数据:从-4开始到-1结束,选取方向从左到右,但是-1步长:从右向左选取 # 如果选取方向(下标开始到结束的方向)和步长方向冲突,则无法选取数据 print(str1[-1:-4:-1]) # 876 方向一致就可以正确输出
小总结: 下标是精确的找到某一个元素,切片可以利用下标找到某一部分元素(左闭右开)
(1)查找
mystr = 'hello world and itcast and itsmail and Python' # 1. find() print(mystr.find('and')) # 输出的是12,以为下标是从0开始数的 print(mystr.fing('and',15,30)) print(mystr.find('ands')) # -1,ands字串不存在 # 2. index print(mystr.find('and')) # 12 print(mystr.find('and',15,30)) #23 print(mystr.index('ands')) #如果index查找字串不存在,报错 # 3. count() print(mystr.count('and')) 3 print(mystr.count('and',15,30)) 1 print(mystr.count('ands')) 0 # 4. rfind() print(mystr.rfind('and')) 35 print(mystr.find('ands')) -1 如果没找到,则返回-1 # 5. rindex() print(mystr.rindex('and')) 35 就算是到着找,它的下标还是从左到右从下标0开始的 print(mystr.rindex('ands'))
(2)修改
# 遇到列表、字典,内部的数据可以直接修改,修改的就是原列表或者原字典。叫做可变类型。 # 字符串是一个不可变类型的数据 mystr = 'hello world and itcast and itheima and Python' # replace() 把and换成he replace函数有返回值,返回值是修改后的字符串 new_str = mystr.replace('and','he') # new_str = mystr.replace('and','he',1) # 替换次数如果超出字串出席那的次数,表示替换所有这个字串 # new_str = mystr.replace('and','he',10) print(mystr) print(new_str) # 调用了replace函数后,发现原有字符串的数据并没有做到修改,修改后的数据是replace函数的返回值 # 说明字符串是不可变数据类型 # 数据是否可以改变划分为 可变类型,不可变类型 # 2. split() 分割,返回一个列表,丢失分割字符 list1 = mystr.split('and') print(list1) # 3. join() 合并列表里面的字符串数据为一个大字符串 mylist = ['aa','bb','cc'] new_str = '...'.join(mylist) print(new_str)
修改-非重点
# 一、字符串对齐 # mystr.ljust(10) 左对齐 # mystr.rjust(10) 右对齐 # mystr.rjust(10,'.') 以点作为填充效果 # mystr.center(10) 中间居中 # mystr.center(10,'.') 以点填充空白的地方 # 二、大小写转换 mystr = 'hello world and itcast and itheima and Python' # 1. capitalize() 字符串首字母大写 # new_str = mystr.capitalize() # print(new_str) # 2. title():字符串中每个单词首字母大写 # new_str = mystr.title() # print(new_str) # 3. upper():小写转大写 # new_str = mystr.upper() # print(new_str) # 4. lower():大写转小写 # new_str = mystr.lower() # print(new_str) # 三、删除空白字符 str1 = " hello world and itcast and itheima and Python " # 1. lstrip():删除字符串左侧空白字符 # print(str1) # new_str = str1.lstrip() # print(new_str) # 2. rstrip():删除字符串右侧空白字符 new_str = str1.rstrip() print(str1) print(new_str) # 3. strip():删除字符串两侧空白字符 # new_str = str1.strip() # print(new_str)
(3)判断
# 判断开头或结尾 mystr = 'hello world and itcast and itheima and Python' # 1. startswith(字串,开始位置下标,结束位置下标):判断字符串是否以某个字串开头 print(mystr.startswith('hello')) print(mystr.startswith('hel')) print(mystr.startswith('hels')) print(mystr.startswith('hell',0,10)) 开始位置下标和结束位置下标可以省略 # 2. endswich(字串,开始位置下标,结束位置下标),始位置下标和结束位置下标可以省略 print(mystr.endswith('Python')) print(mystr.endswith('Pythons')) # 判断 3. isalpha():字母 纯字母才可以,如果中间有空格返回的false print(mystr.isalpha()) # 4. isdigit():数字,中间也不能有空格,否则返回false print(mystr.isdigit()) mystr1 = "12345" print(mystr1.isdigit()) # 5. isalnum():数字或字母或组合 print(mystr1.isalnum()) # True print(mystr.isalnum()) # False 因为中间有空格 mystr2 = 'abc123' print(mystr2.isalnum()) # 6. isspace():判断是否是空白,是返回True print(mystr.isspace()) # False mystr3 = ' ' print(mystr3.isspace()) # True
Python字符串
字符串的使用
下标和切片
(1)下标
(2)切片
小总结: 下标是精确的找到某一个元素,切片可以利用下标找到某一部分元素(左闭右开)
字符串常用操作方法(查找、修改、判断)
(1)查找
(2)修改
修改-非重点
(3)判断