字符串:
- 字符串是不可变对象
- 一个个字符组成的有序的字符序列,使用单引号,双引号,三引号引住的字符序列
字符串定义,初始化
s1 = ‘string’ s2 = "string2" s3 = '''this's a "String" '''
字符串元素访问———下标
字符串支持使用索引访问:
sql = "select * from" sql[4] = 'c'
有序的字符集合,字符序列:
for i in sql:
print(c)
print(type(c)) # 返回的什么类型
可迭代: lst = list(sql)
字符串join连接:
- "select" . join(iterable)
- 可将迭代对象连接起来,使用string作为分隔符
- 可迭代对象本身元素都是字符串,返回一个新字符串
字符串分割:
分割字符串的方法分为2类:
- split系:将字符串按照分隔符分割成若干字符串,并返回列表
- rsplit:从右向左分割
- partition系:将字符串按照分隔符割成2段,返回这2段和分隔符的元组
split(sep=None,maxsplit=-1)
从左到右,sep:指定分割的次数,缺省的情况下空字符串作为分割符
maxsplit:指定分割的次数,-1表示遍历整个字符串
partition(sep)
从左到右,遇到分隔符就把字符串分割成2部分,返回头,分隔符,尾三部分的三元组;如果没有找到分隔符,就返回 头,2个空元素的三元组,sep分割字符串,必须指定
rpartition(sep):从右向左分割
字符串大小写:
- upper():全大写
- lower():全小写
- swapcase():交互大小写
字符串排版:
- title():标题的每个单词都大写
- capitalize():首个单词大写
- center(width[,fillchar]):width,打印宽度 fillchar,填充的字符
- zfill(width):width 打印宽度,居右,左边用完填充0
- ljust(width[,fillchar]):左对齐
- rjust(width[,fillchar]):右对齐
字符串修改:
replace(old,new[,count]):
字符串中找到匹配替换为新子串,返回新字符串
count表示替换几次,不指定就是全部替换
字符串修改:
strip([chars]):
从字符串两端去除指定字符集chars中的所有字符
如果chars没有指定,去除两端的空白字符
rstrip([chars]):从右开始
字符串查找:
- 时间复杂度:index和count方法都是O(n)
- 随着列表数据规模的曾大,而效率下降
len(string):返回字符串的长度,即字符的个数
index(sud[,start[,end]]):
在指定的区间[strat,end),从左至右,查找子串sud。找到返回索引,没有找到抛出异常ValueError
rindex(sud[,start[,end]]):从右至左查找
count(sud[,start[,end]]):
在指定的区间[start,end),从左至右,统计子串sud出现的个数
字符串判断is系列:
- isalnum():bool是否是字母和数字组成
- isalpha():是否是字母
- isdecimal():是否只包括十进制数字
- isdigit():是否全部数字(0~9)
- isidentifier():是不是字母和下划线开头,其他都是字母,数字,下划线
- islower():是否都是小写
- isupper():是否都是大写
- isspace():是否只包括空白字符
字符串格式化:
字符串的格式化是一种拼接字符串输出样式的手段,更灵活方便
join拼接只能使用分隔符,且要求被拼接的是可迭代对象
+ 拼接字符串还算方便,但是非字符串需要先转换为字符串才能拼接
format函数格式化字符串语法——Python鼓励使用:
- "{} {xxx}".format(*args,**kwarge)
- args是位置参数,是一个元组
- kwargs是关键字参数,是一个字典
- 花括号表示占位符
- {}表示按照顺序匹配位置参数,{n}表示取位置参数索引为n的值
- {xxx}表示在关键字参数中搜索名称一致的
- {{}}表示打印花括号