今日份复习python第4章:字符串与正则表达式。
一:字符串.
1.在python中,字符串属于不可变序列类型,不能对字符串对象进行元素增加,修改与删除等操作。
2.python字符串驻留机制:对于短字符串,将其赋值给多个不同的对象时,内存中只有一个副本,对个对象共享该副本。长字符串不遵守。
3.字符串格式化
例:
4.使用format()方法进行格式化
5.从python 3.6.x开始支持一种新的字符串格式化方式,官方叫做Formatted String Literals,在字符串前加字母f,含义与字符串对象format()方法类似。
6.字符串常用方法:<1>.find()、rfind()、index()、rindex()、count()
find()和rfind方法分别用来查找一个字符串在另一个字符串指定范围(默认是整个字符串)中首次和最后一次出现的位置,如果不存在则返回-1;
index()和rindex()方法用来返回一个字符串在另一个字符串指定范围中首次和最后一次出现的位置,如果不存在则抛出异常;count()方法用来返回一个字符串在当前字符串中出现的次数。
<2>.split()、rsplit()、partition()、rpartition()
split()和rsplit()方法分别用来以指定字符为分隔符,把当前字符串从左往右或从右往左分隔成多个字符串,并返回包含分隔结果的列表;
partition()和rpartition()用来以指定字符串为分隔符将原字符串分隔为3部分,即分隔符前的字符串、分隔符字符串、分隔符后的字符串,如果指定的分隔符不在原字符串中,则返回原字符串和两个空字符串。
ps:split()和rsplit()方法还允许指定最大分割次数。对于split()和rsplit()方法,如果不指定分隔符,则字符串中的任何空白符号(空格、换行符、制表符等)都将被认为是分隔符,把连续多个空白字符看作一个分隔符。
<3>.join()方法用来列表或将其他可迭代对象中多个字符串进行连接,并在相邻两个字符串之间插入指定字符串。
<4>.lower()、upper()、capitalize()、title()、swapcase()
这几个方法分别用来将字符串转换为小写,大写字符串。
<5>.replace()
用来替换字符串中指定字符或子字符串的所有重复出现,每次只能替换一个字符或一个子字符串。
<6>.maketrans(),translate()
字符串对象的maketrans()方法用来生成字符映射表,而translate()方法用来根据映射表中定义的对应关系转换字符串并替换其中的字符,使用这两个方法的组合可以同时处理多个字符。
<7>.strip()、rstrip()、lstrip()
分别用来删除两端,右端或左端的空白字符或指定字符。
ps:这三个方法的参数指定的字符串并不作为一个整体对待,而是在原字符串的两侧、右侧、左侧删除参数字符串中包含的所有字符,一层一层地从外往里扒。
<8>.内置函数eval()
尝试把任意字符串转化为python表达式并求值。
<9>.成员判断,关键字in
判断一个字符串是否出现在另一个字符串中。
<10>.startswith(t)、s.endswith(t),判断字符串是否以指定字符串开始或结束
<11>.center()、ljust()、rjust()
返回指定宽度的新字符串,原字符串居中、左对齐或右对齐出现在新字符串中,如果指定宽度大于字符串长度,则使用指定的字符(默认为空格)进行填充。
<12>.isalnum()、isalpha()、isdigit()、isdecimal()、isnumeric()、isspace()、isupper()、islower()
用来测试字符串是否为数字或字母、是否为字母、是否为数字字符、是否为空白字符、是否为大写字母以及是否为小写字母。
二.字符串常量
1.Python标准库string中定义数字字符、标点符号、英文字母、大写字母、小写字母等常量。
2.在Python中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,只能重新创建一个新的字符串对象。然而,如果确实需要一个支持原地修改的unicode数据对象,可以使用io.StringIO对象或array模块。