1.1 一个个字符组成的有序的序列,是字符的集合
1.2.使用单引号、双引号、三引号引住的字符序列
1.3.字符串是不可变对象
1.4.Python3起,字符串就是Unicode类型
2字符串元素访问
2.1字符串支持使用索引访问
sql = "select * from user where name='tom'"
sql[4] # 字符串'c'
sql[4] = 'o'
2.2有序的字符集合,字符序列
for c in sql:
print(c)
print(type(c))
output
2.3可迭代
lst = list(sql)
3.字符串join连接 & +
"string".join(iterable) -> str
将可迭代对象连接起来,使用string作为分隔符
可迭代对象本身元素都是字符串
返回一个新字符串
+ -> str
将2个字符串连接在一起
返回一个新字符串
4.字符串分割split
split(sep=None, maxsplit=-1) -> list of strings
1.从左至右
2.sep 指定分割字符串,缺省的情况下空白字符串作为分隔符
3.maxsplit 指定分割的次数,-1 表示遍历整个字符串
rsplit(sep=None, maxsplit=-1) -> list of strings
1.从右向左
2.sep 指定分割字符串,缺省的情况下空白字符串作为分隔符
3.maxsplit 指定分割的次数,-1 表示遍历整个字符串
partition(sep) -> (head, sep, tail)
1.从左至右,遇到分隔符就把字符串分割成两部分,返回头、分隔符、尾三部分的三元组;
如果 没有找到分隔符,就返回头、2个空元素的三元组
2.sep 分割字符串,必须指定
5.字符串修改
replace(old, new[, count]) -> str
字符串中找到匹配替换为新子串,返回新字符串
count表示替换几次,不指定就是全部替换
strip([chars]) -> str
1.从字符串两端去除指定的字符集chars中的所有字符
2.如果chars没有指定,去除两端的空白字符
find(sub[, start[, end]]) -> int p
1.在指定的区间[start, end),从左至右,查找子串sub。找到返回索引,没找到返回-1
rfind(sub[, start[, end]]) -> int p
1.在指定的区间[start, end),从右至左,查找子串sub。找到返回索引,没找到返回-1
6.format字符串格式化
format函数格式字符串语法
"{} {xxx}".format(*args, **kwargs) -> str
args是位置参数,是一个元组 p kwargs是关键字参数,是一个字典
花括号表示占位符 p {}表示按照顺序匹配位置参数,{n}表示取位置参数索引为n的值
{xxx}表示在关键字参数中搜索名称一致的
{{}} 表示打印花括
1.位置参数
"{}:{}".format('192.168.1.100',8888),这就是按照位置顺序用位置参数替换前面的格式字符串的占位符中
2.关键字参数或命名参数
"{server} {1}:{0}".format(8888, '192.168.1.100', server='Web Server Info : ') ,位置参数按照序号匹配, 关键字参数按照名词匹配
3.通过列表或者tuple访问元素
"{0[0]}.{0[1]}".format(('magedu','com'))
4.字符串格式化
>:向右对齐
>0n:字符数不够,前面使用0补齐
'{0}*{1}={2:<2}'.format(3,2,2*3)
'{0}*{1}={2:<02}'.format(3,2,2*3)
'{0}*{1}={2:>02}'.format(3,2,2*3)
'{:^30}'.format('centered')
'{:*^30}'.format('centered')