操作类型之字符串
一、字符串简介
字符串序列用于表示和存储文本,python中字符串是不可变对象。字符串是一个有序的字符的集合,用于存储和表示基本的文本信息。
字符串是 Python 中最常用的数据类型。以使用引号('或")来创建字符串。
name = 'lol' age = '20' #这个也是字符串哦
二、转义符
Python支持转义字符进行输出,在需要在字符中使用特殊字符时,需要使用反斜杠’\’.
以下为常用的转义符:
\(在行尾时) |
续行符 |
\\ |
反斜杠符号 |
\' |
单引号 |
\" |
双引号 |
\b |
退格(Backspace) |
\n |
换行 |
\t |
制表符 |
\r |
表示将光标的位置回退到本行的开头位置 |
简单示例:
str1 = 'aaaaaaaa' \ 'bbbbbbbbbb' #续行 str2 = 'ccc\\ccc' #显示出反斜杠 str3 = 'I\'m' #显示出单引号 str4 = '\"Ok\"' #显示出双引号 str5 = 'abcd\b' #退格 str6 = 'one line \n two line' #换行 str7 = 'zhi \t biao' #制表符 str8 = '111 \r 22' #光标的位置回退到本行的开头位置
打印结果为:
aaaaaaaabbbbbbbbbb ccc\ccc I'm "Ok" abc one line two line ******************** zhi biao 22
三、Python字符串运算符
操作符 | 描述 |
+ | 字符串连接 |
* | 重复输出字符串 |
[] | 通过索引获取字符串中字符 |
[:] | 截取字符串中的一部分(左闭右开) |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True |
not in | 成员运算符 |
r/R | 原始字符串 |
示例:
a = 'Hello' b = 'World' print('a+b的输出结果为:',a+b) print("a*2 输出结果:",a * 3) print("a[1] 输出结果:",a[2]) print("a[1:4] 输出结果:",a[2:4])
输出结果为:
a+b的输出结果为: HelloWorld a*2 输出结果: HelloHelloHello a[1] 输出结果: l a[1:4] 输出结果: ll
四、字符串的方法:
根据python3.x的字符串源码文件可见,总共44个方法,以下为笔者列举的常用的字符串方法
首字母大写: str = abc.capitalize() 首字母小写: str = abc.casefold() 设置字符串宽度,并居中,空白位置居中 str = abc.center(20,'*')//填充可有可无 左:str = abc.ljust(20,'*') 右:str = abc.rjust(20,'*') 计算字符串出现的个数: str = abc.count('a',5,10)//从第5位到第10位寻找 判断是否按要求字符串开头、 结尾 str = abc.endswith('bc') str = abc.startswith('ab') 从开始往后找,找到第一个字符串后,获取其位置: str = abc.find('ab',6,10)//可规定位置 格式化,将一个字符串中的占位符替换为指定的值: test = 'I am {name}!' str = test.format (name = 'jiangfeng') str2 = test.format_map({'name':'feng'}) 判断字符串中是否只是包含数字和字母: str = abc.isalnum() 对字符串进行断句 date = 'name\tage\njiangfeng\t18\nzhangsan\t11' str = date.expandtabs(15) 判断字符串中是否只包含字母 str = abc.isalpha() 判断字符串中是否只包含数字 str = abc.isdecimal() * str = abc.isdigit() str = abc.isnumeric() 判断字符串中是否含有特殊的页面中无法打印的字符: str = abc.isprintable() 判断字符串是否全是空格 str = abc.isspace() 判断字符串是否是标题格式: str = abc.istitle() 将字符串转化为标题格式: str = abc.title *将字符串中的每一个元素按照指定分隔符进行拼接 test = '姜峰' t = ' ' str = t.join(test) or str = ' '.join(test) 对字符串进行去除空格处理: str = abc.lstrip()//左 str = abc.rstrip()//右 str = abc.strip()//两边 str = abc.strip('ab')//去除指定内容 对数据进行分割: str = abc.partition('a')//只能把数据分成三份(前) str = abc.rapartition('a')//只能把数据分成三份(后) str = abc.split('a',2)//按'a'分割,分成2份 str = abc.splitlines(True)//只能根据换行符进行分割 大小写转换: str = abc.swapcase() 字符串的替换: str = abc.replace('a','b',(n)) 注:字符串一旦创建不可修改;一旦修改或者拼接,都会造成重新生成字符串
如果想要看到更加全面的内置函数,可以观看http://www.runoob.com/python3/python3-string.html上的信息。