字符串
字符串
单引号、双引号、三引号都可以定义字符串。三引号定义的可以按照代码中的原格式输出。如其中包含的换行会输出。
字符串输出
name = 'TOM'
print('我的名字是%s' % name)
print(f'我的名字是{name}')
字符串输入
password = input('请输入你的密码:')
print(f'你输入的密码是:{password}')
只要Input输入的数据都是字符串
下标
又叫索引,就是编号。其作用是为了快速的找到对应的数据。
切片
切片是对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
序列[开始位置下标:结束位置下标:步长]
注意:
- 不包含结束位置下标对应的数据,正负整数均可
- 步长是选取间隔,正负数均可,默认步长为1
name = 'abcdefg'
print(name[2:5:1]) \#cde
print(name[2:5]) \#cde
print(name[:5]) \#abcde
常用操作方法
有查找、修改和判断三大类。
查找
查找子串在字符串中的位置或出现的次数。
- find():子串是否包含在字符串中,存在则返回子串开始位置的下标,不存在则返回-1
字符串序列.find(子串, 开始位置下标, 结束位置下标)
- index():子串是否包含在字符串中,存在则返回子串开始的位置下标,否则则报异常
- count(): 返回子串在字符串中出现的次数。
mystr = "hello world and itcast and itheima and Python"
print(mystr.find('and')) # 12
print(mystr.find('and', 15, 30)) # 23
print(mystr.find('ands')) # -1, ands子串不存在
print(mystr.find('and')) # 12
print(mystr.find('and', 15, 30)) # 23
print(mystr.find('ands')) # 报错,因为子串不存在
print(mystr.count('and', 15, 30)) # 1
print(mystr.count('and')) # 3
print(mystr.count('ands')) # 0
- rfind(): 和find()功能相似,查找方向为右侧
- rindex(): 和index()功能相似,查找方向为右侧
修改
通过函数修改字符串中的数据。
- replace(): 替换
- 注意:
- 替换次数不写,则表示替换所有的旧子串;
- 返回值才是修改后的字符串,原有字符串并没有被修改。(字符串是不可变数据类型)
- 注意:
字符串序列.replace(旧子串, 新子串, 替换次数)
- split(): 按照指定字符分割字符串
- 返回一个列表,会丢失分割字符
- 分割次数表示,以分割字符将原有字符串分割几次
字符串序列.split(分割字符, 分割次数)
- join(): 将多个字符串合并为一个新的字符串
字符或子串.join(多字符串组成的序列)
list1 = ['aa', 'bb', 'cc', 'dd']
new_str = '...'.join(list1)
print(new_str) # aa...bb...cc...dd
-
非重点修改函数
- capitalize():字符串的第一个字符的字母大写。原有字符串非第一个字符的大写会被替换为小写
- title(): 字符串中每个单词的首字母大写
- lower(): 大写转小写
- upper(): 小写转大写
- lstrip(): 删除左侧空白字符
- rstrip(): 删除右侧空白字符
- strip(): 删除两侧空白字符
-
ljust(): 返回一个原字符串左对齐,并使用指定字符(默认空格)填充对应长度的新字符串。在指定长度内,剩余为空的字符用填充字符填充
字符串序列.ljust(长度, 填充字符)
- rjust(): 返回一个原字符串右对齐,并使用指定字符(默认空格)填充对应长度的新字符串
- center(): 返回一个原字符串居中对齐,并使用指定字符(默认空格)填充对应长度的新字符串
判断
- startswith(): 检查字符串是否以指定字符串开头,返回True或False
字符串序列.startswith(子串, 开始位置下标, 结束位置下标)
- endswith(): 检查字符串是否以指定字符串结束,返回True或False
- isalpha(): 判断字符串是否所有的字符都是字母,返回True或False。有空格也不行
- isdigit(): 是否是数字
- isalnum(): 字母或数字或数字和字母的组合
- isspace(): 是否是空格