快速学习Python基础知识详细图文教程4--容器1--字符串

发布时间:2026/7/12 20:09:29

快速学习Python基础知识详细图文教程4--容器1--字符串 来源引用网络知识与某站曹老师视频相互结合学习记录仅供参考Python 基础知识四、容器容器是一种可以存储多个元素的数据类型Python 中的容器有字符串 str、列表 list、元组 tuple、集合 set、字典 dict;统计“长度或数量”一般使用 len() 函数每个容器都有。1、 字符串字符串是多个字符的集合与元组同样是无法修改字符串内容的它也是常量使用引号单引号、双引号、三引号字符串的定义字符串变量内容字符串变量字符串变量str()# 赋值定义一个字符串 str1 hello word print(f字符串str1 {str1}类型是{type(str1)} ) # 定义一个空字符串 str2 print(f字符串str2 {str2}类型是{type(str2)} ) # 使用面向对象的方式定义一个空字符串 str3 str() print(f字符串str3 {str3}类型是{type(str3)} ) 运行结果 字符串str1 hello word类型是class str 字符串str2 类型是class str 字符串str3 类型是class str字符串的下标索引字符串的下标索引的用法几乎和列表、元组的下标索引用法一样可以通过字符串的下标索引获取字符串中的元素下标索引从 0 开始第一个元素下标索引是 0第二个元素下标索引是 1......第 N 个元素下标索引是 N-1或者通过反向索引也可以获取字符串元素索引从-1 开始倒数第二个元素下标索引是-2......倒数第 N 个元素的下标索引是 -N字符串 str123456......N-1N正索引012345......N-2N-1负索引-N-(N-1)-(N-2)-(N-3)-(N-4)-(N-5)......-2-1-N1-N2-N3-N4-N5......注意点字符串的下标不能越界否则就会越界错误字符串的常用方法虽然字符串不能被修改但是可以通过很多常用的操作方法来返回一个操作过的新字符串1、index(元素)方法查找字符串中指定元素的下标不存在就报错# 赋值定义一个字符串 str1 hello word print(f字符串str1 {str1}类型是{type(str1)} ) str_index str1.index(wo) print(str_index) 运行结果 字符串str1 hello word类型是class str 62、replace(old字符串1, new字符串2)把字符串内的所有字符串1,替换成字符串2,然后方法返回一个新字符串str1 hello word str2 str1.replace(word, hello) print(fstr1是保持不变的{str1}) print(fstr2是会被替换的{str2}) 运行结果 str1是保持不变的hello word str2是会被替换的hello hello若不想全部替换只替换前几个可以使用 replace(old字符串1,new字符串2,count)方法# 赋值定义一个字符串 str1 hello word # 部分替换从前到后开始替换 str2 str1.replace(o, x, 1) print(fstr1是保持不变的{str1}) print(fstr2是会被替换的{str2}) 运行结果 str1是保持不变的hello word str2是会被替换的hellx word3、split(分隔符字符串)根据指定的分隔符字符串将字符串分割成多个字符串并存入列表对象中方法返回列表对象# 赋值定义一个字符串 str1 hello word str2 AndroidiOS鸿蒙 # 通过split分割使用空格分割返回的是一个列表 l1 str1.split( ) # 例如开发常见的使用逗号隔开的注意区分中英文状态 l2 str2.split() print(fstr1本身是保持不变的不会被修改的{str1}) print(fl1{l1}l1的类型type{type(l1)}) print(fl2{l2}l2的类型type{type(l2)}) 运行结果 str1本身是保持不变的不会被修改的hello word l1[hello, word]l1的类型typeclass list l2[Android, iOS, 鸿蒙]l2的类型typeclass list4、strip()去掉前后空格返回新的字符串# 赋值定义一个前后都有空格的字符串 str1 hello word print(fstr1本身是保持不变的{str1}) ele str1.strip() # print(去除前后空格后的, str1.strip()) print(fstr1去除前后空格后的{ele}) 运行结果 str1本身是保持不变的 hello word str1去除前后空格后的hello wordstrip(字符串)如果带字符串的话还可以去掉前后指定的字符串返回新的字符串# 赋值定义一个前后都有“特殊字符指定字符串”的字符串 str1 %hello word%$ print(fstr1本身是保持不变的{str1}) # 去掉字符串前面和后面的指定字符 ele str1.strip($%) # print(去除前后位置指定字符后, str1.strip($%)) print(f去除前后位置指定字符后{ele}) 运行结果 str1本身是保持不变的%hello word%$ 去除前后位置指定字符后hello word5、count(字符串)统计字符串中出现指定字符串的个数# 赋值定义字符串 str1 hello word # count(元素)统计某元素在字符串中的个数 count str1.count(l) print(fstr1列表中元素l的个数{count}) 运行结果 str1列表中元素l的个数26、len(字符串)统计字符串的长度# 赋值定义字符串 str1 hello word # len(字符串)统计字符串内一共有多少元素 # length len(str1) # print(f统计str1列表中的元素个数{length}) print(f统计str1字符串中的元素个数, len(str1)) 运行结果 统计str1字符串中的元素个数 10Python 的字符串内建函数Python 的字符串常用内建函数如下方法描述capitalize()将字符串的第一个字符转换为大写。center(width, fillchar)返回一个指定的宽度 width 居中的字符串fillchar 为填充的字符默认为空格。count(str, beg 0,endlen(string))返回 str 在 string 里面出现的次数如果 beg 或者 end 指定则返回指定范围内 str 出现的次数。bytes.decode(encodingutf-8, errorsstrict)Python3 中没有 decode 方法但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象这个 bytes 对象可以由 str.encode() 来编码返回。encode(encodingUTF-8,errorsstrict)以 encoding 指定的编码格式编码字符串如果出错默认报一个ValueError 的异常除非 errors 指定的是ignore或者replace。endswith(suffix, beg0, endlen(string))检查字符串是否以 suffix 结束如果 beg 或者 end 指定则检查指定的范围内是否以 suffix 结束如果是返回 True,否则返回 False。expandtabs(tabsize8)把字符串 string 中的 tab 符号转为空格tab 符号默认的空格数是 8 。find(str, beg0, endlen(string))检测 str 是否包含在字符串中如果指定范围 beg 和 end 则检查是否包含在指定范围内如果包含返回开始的索引值否则返回-1。index(str, beg0, endlen(string))跟find()方法一样只不过如果str不在字符串中会报一个异常。isalnum()检查字符串是否由字母和数字组成即字符串中的所有字符都是字母或数字。如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True否则返回 False。isalpha()如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False。isdigit()如果字符串只包含数字则返回 True 否则返回 False。islower()如果字符串中包含至少一个区分大小写的字符并且所有这些(区分大小写的)字符都是小写则返回 True否则返回 False。isnumeric()如果字符串中只包含数字字符则返回 True否则返回 False。isspace()如果字符串中只包含空白则返回 True否则返回 False。istitle()如果字符串是标题化的(见 title())则返回 True否则返回 False。isupper()如果字符串中包含至少一个区分大小写的字符并且所有这些(区分大小写的)字符都是大写则返回 True否则返回 False。join(seq)以指定字符串作为分隔符将 seq 中所有的元素(的字符串表示)合并为一个新的字符串。len(string)返回字符串长度。ljust(width[, fillchar])返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串fillchar 默认为空格。lower()转换字符串中所有大写字符为小写。lstrip()截掉字符串左边的空格或指定字符。maketrans()创建字符映射的转换表对于接受两个参数的最简单的调用方式第一个参数是字符串表示需要转换的字符第二个参数也是字符串表示转换的目标。max(str)返回字符串 str 中最大的字母。min(str)返回字符串 str 中最小的字母。replace(old, new [, max])把将字符串中的old替换成new,如果max指定则替换不超过 max次。rfind(str, beg0,endlen(string))类似于 find()函数不过是从右边开始查找。rindex( str, beg0, endlen(string))类似于 index()不过是从右边开始。rjust(width,[, fillchar])返回一个原字符串右对齐,并使用fillchar(默认空格填充至长度 width 的新字符串rstrip()删除字符串末尾的空格或指定字符。split(str, numstring.count(str))以 str 为分隔符截取字符串如果 num 有指定值则仅截取 num1 个子字符串。splitlines([keepends])按照行(\r, \r\n, \n)分隔返回一个包含各行作为元素的列表如果参数 keepends 为 False不包含换行符如果为 True则保留换行符。startswith(substr, beg0,endlen(string))检查字符串是否是以指定子字符串 substr 开头是则返回 True否则返回 False。如果beg 和 end 指定值则在指定范围内检查。strip([chars])在字符串上执行 lstrip()和 rstrip()。swapcase()将字符串中大写转换为小写小写转换为大写。title()返回标题化的字符串,就是说所有单词都是以大写开始其余字母均为小写。translate(table, deletechars)根据 table 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中。upper()转换字符串中的小写字母为大写。zfill (width)返回长度为 width 的字符串原字符串右对齐前面填充0。isdecimal()检查字符串是否只包含十进制字符如果是返回 true否则返回 false。字符串的遍历while 循环遍历 字符串# 赋值定义字符串 str1 hello word # 定义变量i0 i 0 # while循环 条件i while i len(str1): # 通过下标取值元素并赋值给ele ele str1[i] # 每次循环进行打印 print(ele, end ) # 防止while陷入死循环 i 1 运行结果 h e l l o w o r dfor 循环遍历 字符串# 赋值定义字符串 str1 hello word # 每次遍历str1字符串时把获取到的每个变量放在 临时变量i 里面 for i in str1: # 默认是 end\n print(i, end ) 运行结果 h e l l o w o r d未完待续......

相关新闻