多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
**srt()实现数字转字符串** str()可以把其他类型的数据转换成字符串 例:srt(5.20) 会转译成 '5.20' srt(3.14e2) 会转译成 '314.0' str(True) 会转译成 'True' 当我们调用print()函数时,解释器自动调用了str() 将非字符串的对象转成了字符串。 <br> **replace() 字符串替换** >[danger] 注:字符串时不可改变的,所以replace() 生成的是一个新的字符串 并不会改变老的字符串 ``` >>>a = 'abcdefghijklmnopqrstuvwxyz' >>>a.replace('c','浩哥') 'ab浩哥defghijklmnopqrstuvwxyz' >>>a # a的值并没有改变 'abcdefghijklmnopqrstuvwxyz' >>>a = a.replace('c','哈哈') >>>a 'ab哈哈defghijklmnopqrstuvwxyz' ``` <br> **字符串切片(截取) slice 操作** 切片 slice 操作可以让我们快速的提取字符串。标准格式为: [起始偏移量start:终止怕偏移量 end: 步长 strp] a = 'abcdefghijk' | 操作 | 示例 | 结果 | | --- | --- | --- | | [:] 提取整个字符串 | a[:] | 'abcdef' | | [start:] 从start索引开始 | a[2:] | 'cdef' | | [:end] 从头开始到end结束 | a[:2] | 'ab' | | [start:end] 从start开始到end结束 | a[2:4] | 'cd' | | [start:end:step] 从start开始到end结束 ,步长step | a[1:11:2] | 'bdfhj' | 如果为负数 | 操作 | 说明 | 结果 | | --- | --- | --- | | a[-3:] | 倒数3个 | 'ijk' | | [-5:-3] | 倒数第5个到倒数第三个 | 'hi' | | [::-1] | 步长为负,反向提取 | 'kjihgfedcba' | <br> **split() 分割和 join() 合并** split() 可以指定分隔符将字符串分割成多个字符串(储存在列表中)。如果不指定分隔符,则默认使用空白符(换行符/空格/制表符) 例: ``` # 字符串转数组 >>>a = 'to be or not to be' >>>a.split() ['to', 'be', 'or', 'not', 'to', 'be'] >>>a = 'a,b,c,d,e' ['a,b,c,d,e'] # 数组转字符串用空格分割 >>>a=['a,b,c,d,e'] >>>a = ['a','b','c','d','e','f'] >>>' '.join(a) 'a b c d e f' ``` <br> **成员操作符** in/not in 关键字, 判断某个字符是否存在于字符串中 ``` >>>a = 'htsrdffgsd' >>>'ht' in a True ``` <br> **字符串格式化** 基本语法用过 **{}** 和 **:** 来代理以前的 **%** format 函数不限参数,位置可以不按顺序 ``` >>>a = '我是你:{0},年龄是:{1}' >>>a.format('爸爸','44') '我是你:爸爸,年龄是:44' >>>b = '我是你:{0},你是我{1},{0}永远爱你' >>>b.format('爸爸','儿子') '我是你:爸爸,你是我儿子,爸爸永远爱你' >>>c = '我是{name},今年{age},是个{label}' >>>c.format(name='hao ge',age=18,label="精神小伙") '我是hao ge,今年18,是个精神小伙' ``` <br> **常用查找方法** a = '''我是你爸爸,你是我儿子,但你是个逆子,所以我不认你了''' | 方法和使用示例 | 说明 | 结果 | | --- | --- | --- | | len(a) | 获取字符串长度 | 26 | | a.startswith('我是') | 判断是否以指定字符串开头 | True | | a.endswith('你了') | 判断是否以指定字符串开头 | True | | a.find('儿子') | 第一次出现指定字符串的位置 | 9 | | a.rfind('逆子') | 最后一次出现指定字符串的位置 | 16 | | a.count('是') | 统计指定字符串共出现过几次 | 3 | | a.isalnum() | 判断所有字符串是否全是数组或字母 | False | <br> **去除首尾信息** 通过 strip() 去除字符串首尾指定信息 通过 lstrip() 去除字符串左边的指定字符信息 通过 rstrip() 去除字符串右边的指定字符信息 a = ',1,2,3,' ``` >>>a.strip(',') '1,2,3' >>>a.lstrip(',') '1,2,3,' >>>a.rstrip(',') ',1,2,3' ``` <br> **大小写转换** a = 'wo shi ni baba ni shi WO er zi', | 示例 | 说明 | 结果 | | --- | --- | --- | | a.capitalize() | 产生新的字符串,第一个单词首字母大写 | 'Wo shi ni baba ni shi wo er zi' | | a.title() | 产生新的字符串,每个单词首字母大写 | 'Wo Shi Ni Baba Ni Shi Wo Er Zi' | | a.upper() | 产生新的字符串,所有字母大写 | 'WO SHI NI BABA NI SHI WO ER ZI' | | a.lower() | 产生新的字符串,所有字母小写 | 'wo shi ni baba ni shi wo er zi' | | a.swapcase() | 产生新的字符串,所有字母大小写互换 | 'WO SHI NI BABA NI SHI wo ER ZI' | <br> **格式排版** center()、ljust()、rjust()这单个函数用户对字符串实现排版 a = 'hao ge' ``` >>>a.center(20,'-') '-------hao ge-------' >>>a.ljust(10,'*') 'hao ge****' >>>a.rjust(10) ' hao ge' ``` 其他方法 * isalnum() 是否为字母或数字 * isalpha() 检测字符串是否只由字母组成(含汉字) * isdigit() 检测字符串是否只有数字组成 * isspace() 检测是否为空白符 * isupper() 是否为大写字母 * islower() 是否为小写字母