快捷搜索:  汽车  科技

python字符串处理基本操作题8(第29讲字符串上)

python字符串处理基本操作题8(第29讲字符串上)字符串是什么?拼接字符串截取字符串分割字符串合并字符串

小朋友们好,大朋友们好!

我们今天学习字符串,内容如下:

拼接字符串

计算字符串的长度

截取字符串

分割字符串

合并字符串

拼接字符串

字符串是什么?

我们之前学过的,一种用括号括起来的数据类型。

拼接字符串是指将两个字符串合并在一起,用符号 实现,需要注意的是两边必须是字符串类型。

如果不是会报错,可以使用str()函数将其他类型转换为字符串类型。

字符串如果和数字相乘,符号*,表示多个字符串。

猫妹的测试代码29.1py:

print('字符串拼接使用符号 ') str1='欢迎关注公众号:' str2='和猫妹学Python' str3=str1 str2 print(str3) print('\n使用字符串拼接时,两边必须是字符串类型') str4='和猫妹学Python的粉丝有' fensi=20 str5='人' str6=str4 str(fensi) str5 print(str6) print('\n字符串和数字相乘,表示重复n遍') str7='我爱学Pyhon' print(str7*5)

计算字符串的长度

由于不同字符所占字节数不同,所以要计算字符串的长度,需要先了解下字符所在的字节数。

这部分先有个概念,后续学习了编码格式后会理解。

Python中,数字、英文、小数点、下划线、空格等占一个字节,汉字可能占2~4字节(和编码格式有关,GBK/GB2312占2个字节,UTF8/unicode占3或4个字节)。

len()函数可以计算字符的长度,它不关心存储长度,不区分英文汉字等,每个字符都按一个字符长度计算。

实际开发时,有时需要获取字符串实际所占字节数,即使用UTF-8编码,汉字占3个字节,使用GBK或GB2312,汉字占2个字节。

可以使用encode()方法进行编码后再进行获取。

猫妹的测试代码29.2.py:

#4(汉字) 1(逗号) 2(汉字) 5(字母) str1='人生苦短,我用Python' print(len(str1)) #(6 1)*3 6=27 str1='人生苦短,我用Python' print('UTF-8编码:' len(str1.encode())) #(6 1)*2 6=20 str1='人生苦短,我用Python' print('GBK编码:' len(str1.encode('gbk')))

截取字符串

字符串也是序列中的一种,所以可以使用切片方式方式进行,格式如下:

stringname[start:end:step]

  • string:字符串名称
  • start:要截取的第一个字符的索引(包含该字符),默认值0
  • end:要截取的最后一个字符的索引(不包含该字符),默认值是字符串的长度
  • step:切片步长,默认值是1,步长省略时最后一个冒号可以省略

猫妹的测试代码29.3.py:

goose='''作者:骆宾王 鹅鹅鹅, 曲项向天歌。 白毛浮绿水, 红掌拨清波。''' print('----str1------') str1=goose[:] print(str1) print('----str2------') str2=goose[0:len(goose)] print(str2) print('----str3------') str3=goose[0:6] print(str3) print('----str4------') str4=goose[3:6] print(str4) print('----str5------') str5=goose[-6:-1] print(str5) print('----str6------') str6=goose[-6:] print(str6)

分割字符串

分割字符串是把字符串分割为列表,合并字符串是把列表合并为字符串。

分割字符串和合并字符串是互逆操作。

字符串对象的split()方法可以实现字符串分割,就是把一个字符串按照指定的分隔符切分为字符串列表。

语法如下:

strname.split(sep maxsplit)

  • strname:要被分割的字符串
  • sep:指定分隔符,可以包含多个字符,默认为None,即所有空字符(空格,换行\n,制表符\t)
  • maxsplit:可选参数,分割次数,如不指定或-1表示分割次数没有限制,否则返回结果列表的元素个数,个数最多为maxsplit 1
  • 返回值:分割后的字符串列表

猫妹的测试代码29.4.py:

print('分割方法split 默认以空格、换行、制表符来分割 返回值是列表') print('-----------------1---------------') print('str1中无空格、无换行、无制表符 故原始形式输出') str1="和猫妹学Python" a=str1.split() print(a) print('-----------------2---------------') print('str2中有空格、有换行、有制表符 故被三者分割后输出') str2='''和 猫妹 学 Python''' b=str2.split() print(b) print('-----------------3---------------') print('str3中指定了分隔符@ 则只按照@进行分割输出') str3='''和 猫@妹 学 Python''' c=str3.split('@') print(c) print('-----------------4---------------') print('str4中指定了分隔符@@ 则只按照@@进行分割输出') str4="和@@猫妹@学Python" d=str4.split('@@') print(d) print('-----------------5---------------') print('str5中指定了分隔符空格和分割次数,只取前2个空格来分割') str5="和 猫妹 学 Python 吧 " e=str5.split(' ' 2) print(e)

合并字符串

合并字符串和拼接字符串不同,它将多个字符串采用固定的分隔符连在一起。

格式如下:

strnew=strname.join(interable)

  • strnew:合并后的字符串
  • strname:指定合并时的分隔符
  • interable:可迭代对象,该迭代对象的所有元素(字符串表示)将被合并为一个新的字符串,interable作为边界点分割出来

猫妹的测试代码29.5.py:

monk=['唐僧' '孙悟空' '猪八戒' '沙和尚'] print('-----------------1---------------') print('使用join方法,将可迭代对象合并:') monk_new1=' 取经人:'.join(monk) print(type(monk_new1)) print(monk_new1) print('-----------------2---------------') print('由于使用join方法时,第一个元素前不加分割符,所以这里拼接下:') monk_new2=' 取经人:' monk_new1 print(type(monk_new2)) print(monk_new2)

好了,今天的学习就到这里!

我们下次见!

python字符串处理基本操作题8(第29讲字符串上)(1)

猜您喜欢: