总述:不可变,有索引,有序的,关键字str
1、定义:使用单引号'',双引号"",或三引号''' '''成对出现的形式,三引号一般用来注释。
str1 = 'project'
str2 = "lxl"
str3 = """wo"""
str4 = '''ni'''
print(type(str1), type(str2), type(str3), type(str4))
2、字符串的拼接
可以使用 “+”和 “,”进行拼接
区别是:“+”要求两边的类型一致,拼接后的内容没有空格,“,”不要求拼接的内容类型一致,并且拼接后会有空格。
str1 = 'project'
str2 = "lxl"
print(str1 + str2, str1, str2)
3、字符串的切片
格式:str[起始值:终止值:步长]
索引从0开始,从左往右索引从0开始,从右往左索引从-1开始,起始值不写默认从第一个开始终止值不写,默认到最后一个,步长不写,默认为1。
str1 = "you are beautiful"
print(str1[0])
print(str1[-1])
print(str1[::])
print(str1[::-2])
print(len(str1))
print(str1[2:8])
print(str1[3:])
单个元素超出索引会报错,切片超出索引,不会报错。
切片的区间值左闭右开,右边取不到,要加1。
4、字符串的方法
可以通过“.”出来的就是方法。函数:函数名(对象)
字符串的方法有:
- len()函数:求对象的长度
- 作用:计算字符串的长度
- find()方法:(rfind找最大索引值)
- 作用:在字符串中找第一个出现的元素的下标,如果找不到返回-1
- index()方法:
- 作用:在字符串中找第一个出现的字符串的下标,如果找不到抛ValueError错误
- find()和index()方法的区别:find()如果在指定字符中没有找到则返回-1;而index则会抛出ValueError异常
- count()方法
- 作用:统计子串出现的次数
- join()方法:
- 作用:传入一个可迭代对象:简单记忆:除了数字和bool都是可迭代数据类型,把可迭代对象中的每个元素通过调用它的字符串来拼接,返回拼接后的字符串。
- split(sep)方法:
- 是将一个字符串分裂成多个字符串返回列表的方法,详细即通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
- 作用:在字符串中遇到sep就分割,返回一个列表路径拼接的时候会用到,还有定位方式封装的时候也会用到分割
- rstrip()/lstrip()/strip() 方法
- 作用:
- rstrip()方法是去除字符串右边的空格
- lstrip() 方法是去除字符串左边的空格
- strip() 方法,去除字符串两边的空格
- 作用:
- 修改大小写:
- title():作用:字母的首字母都大写,标题化
- upper():作用:把字母全部转换为大写
- lower():作用:把字母全部转换为小写
- capitalize()方法:作用:将字符串的首字母大写,其余字母全部小写
- replace(old,new[,count])方法:作用:替换旧的字符串成新字符串,count参数可选
- 判断:返回bool
- startswith()方法:作用:判断字符串以xx开头
- endswith()方法:作用:判断字符串以xx结尾
- 所有is开头的方法返回结果都是布尔值(True、False)
-
- isalnum():字符串中所有字符都是字母或数字且非空则返回True
- isalpha():字符串中所有字符都是字母且非空则返回True
- isdigit():字符串中所有字符都是数字且非空则返回True
- isupper():字母都为大写且非空返回True
- islower():字母都为小写且非空返回True
- istitle():单词的首字母都为大写且非空返回True
-
- ord()函数:作用:是返回字符的ascii码
- chr()函数:作用:跟ord()相反,它根据ascii码返回对应的字符