Python中的str字符串
字符串
⼀个个字符组成的有序序列,是字符的集合
可使⽤单引号、双引号、三引号
是不可变对象
Python3起,字符串默认就是Unicode类型
字符串定义
S1 = 'string'
s1= "hello world"
S1 = '''hello
world'''
字符串访问
索引访问
sql = "select * from user"
sql[4]
可迭代
字符串连接
将两个字符串连接在⼀起
返回⼀个新字符串
join连接
"string".join(iterable) —>str
将可迭代对象连接起来
可迭代对象本⾝元素都是字符串
返回⼀个新字符串
lst = ['1', '2', '3']
print("\n".join(lst))  # 换⾏输出
字符串切割
分隔字符串⽅法分为2类
split
将字符串按照分隔符分隔成若⼲字符串,并返回列表
Split(sep=None, maxsplit=-1)
从左向右
sep指定分隔字符串,默认为空⽩字符串作为分隔符
maxsplit指定分隔的次数,-1表⽰遍历整个字符串
In [7]: s1 = "I'm \ta super student"
In [8]: s1.split()
Out[8]: ["I'm", 'a', 'super', 'student']
In [9]: s1.split('\t', maxsplit=2)
Out[9]: ["I'm ", 'a super student']
rsplit(sep=None, maxsplit=-1)
从右⾄左
splitlines([keepends])
按照换⾏符来切分字符串
keepends指的是是否保留⾏分隔符
partition
将字符串按照分隔符分隔成2段,返回这两段和分隔符的元组
Partition(sep)
从左⾄右,遇到分隔符就把字符串分隔为两部分,返回头、分隔符、尾的三元组,如果没有到分隔符,就返回头、2个空元素的三元组sep分隔符字符串,必须指定
In [15]: s1 = "I'm a super student"
In [16]: s1.partition('super')
Out[16]: ("I'm a ", 'super', ' student')
字符串⼤⼩写转换
upper()
转换为全⼤写
lower()
转换为全⼩写
swapcase()
交互⼤⼩写
字符串修改
字符串不可修改,但可以创建为新的字符串
replace(old, new[,count])
字符串中到匹配替换的新⼦串,返回新字符串
count表⽰替换⼏次,不指定为全部替换
In [18]: s1 = "I'm a super student"
In [19]: s1.replace('super','good')
Out[19]: "I'm a good student"
strip([chars])
从字符串两端去除指定的字符集chars中的所有字符
如果chars没有指定,去除两端的空⽩字符
字符串查
find(sub[, start[, end]])
在指定的区间,从左⾄右,查⼦串sub,到返回索引,不到返回-1
count(sub[, start[, end]]))
在指定的区间,从左⾄右,统计⼦串sub出现的次数
字符串判断
endswith(suffix [, start[, end]])
在指定的区间(satrt,end),字符串是否是suffix结尾
startswith(suffix [, start[, end]])
在指定的区间(satrt,end),字符串是否是suffix开头
字符串判断
isalnum() 是否是字母和数字组成
isalpha() 是否是字母
Isdigit() 是否全部是数字
isidentifier() 是否字母和下划线开头,其他都是字母、数字
islower() 是否全部⼩写
字符串格式化
字符串格式化
join拼接只能使⽤分隔符,且要求被拼接的是可迭代对象
字符串函数str
加号+拼接字符串,⾮字符串需要先转换为字符串才能拼接
C语⾔的格式化printf函数
要求占位符:使⽤%和格式字符组成,如%s、%d
values职能是⼀个对象
>>> item = "apple"
>>> print('this is a %s') % item
this is a apple
format函数格式字符串语法
"{} {xxx}".format(*args, **kwargs)
args是位置参数,是⼀个元组
kwargs是关键字参数,是⼀个字典
{}是占位符
{}表⽰按照顺序匹配位置参数,{n}表⽰取位置参数索引为n的值
{{}}表⽰打印花括号
⽰例:
1、位置参数
>>> "{}:{}".format("192.168.1.1", 8888)
'192.168.1.1:8888'
2、对象属性访问
from collections imports namedtuplePoint = namedtuple('Point', 'x y')p = Point(4, 5)"{{{0.x},{0.y}}}".format(p)
3、对齐
>>> '{0}*{1}={2:<2}'.format(3,2,2*3)'3*2=6 '  # 左对齐两位>>> '{:^30}'.format('centered')'          centered          '# 居中补位

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。