一.字符串定义
字符串是 Python 中最常用的数据类型。用单引号(' '
),双引号(" "
)或者三引号(''' '''
)括起来的数据称为字符串(其中,使用三引号的字符串可以横跨多行)
创建字符串很简单,只要为变量分配一个值即可。例如:
二.转义字符
在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:
三.字符串特性
字符串是字符的有序集合,可以通过其位置来获得具体的元素。在python中,字符串中的字符是通过索引来提取的,索引从0开始。
字符串可以取负值,表示从末尾提取,最后一个为-1,倒数第二个为-2,即程序认为可以从结束处反向计数。
1.索引
索引即获取特定偏移的元素
例: s = "hell"
1 ##正向索引 2 >>> s[1] 3 'e' 4 >>> s[0] 5 'h' 6 >>> s[4] 7 'o'
1 ##反向索引 2 >>> s = "hello world" 3 >>> s[-1] 4 'd' 5 >>> s[-2] 6 'l' 7 >>> s[-3] 8 'r'
2.切片
分片提取相应部分数据
s[start:end:step] , 从start开始到end -1结束,步长为step;
-如果start省略,则从头开始切片;
-如果end省略,一直切片到字符串最后
1 s[ ] 获取字符串从开始到结尾的所有元素 2 s[ : :-1] 对于字符串进行反转 3 s[ : ] 对于字符串拷贝
3.成员操作符
成员运算符:
① in 在该有序数组内
② not in 不在该有序数组内
返回结果:布尔值
例:
1 >>>s = "villa" 2 >>>"o" in s 3 False 4 >>>"v" in s 5 True 6 >>>"va" in s 7 False 8 >>>"vi" in s 9 True 10 >>>"la" not in s 11 False
4.字符串连接
1、str1 + str2
1 >>print("villa" + "fcb") 2 villafcb
2、str1 str2
1 >>>print("villa" "fcb") 2 villafcb
3、str1,str2
1 >>>print("villa","fcb") 2 villa fcb
4、字符串列表连接 str.join(list)
函数join接受一个列表,燃用用字符串连接列表中的每一个元素;
1 >>>player = ["mesii","villa","perdo"] 2 >>>team = 'fcb' 3 >>>print(team.join(player)) 4 mesiifcbvillafcbperdo
5、字符串乘法
1 >>>"mesii"*3 2 'mesiimesiimesii'
6、%连接字符串
1 print("%s%s" %(a,b)) 2 villafcb
5.字符串常用方法
判断:
'isalnum'(判断是否为数字和字母)、'isalpha'(判断是否为字母)、'isdigit(判断是否为数字)'、'islower(判断是否为小写字母)'、'isspace'(判断是否为空格)、'istitle'(判断是否为标题)、'isupper'(判断是否为大写字母)
转换:
lower(转换为小写字母), upper(转换为大写字母), title(转换为标题),swapcase(大小写字母相互转换)
1 >>> "Hello".istitle() 2 True 3 >>> "hello".istitle() 4 False 5 >>> "HelloWorld".istitle() 6 False 7 >>> help("HelloWorld".istitle) 8 9 >>> "hello".upper() 10 'HELLO' 11 >>> "heLlo".lower() 12 'hello' 13 >>> "heLlo".title() 14 'Hello' 15 >>> "heLlo".swapcase() 16 'HElLO'
6.字符串的搜索和替换
find:检查字符串中是否包含字符串
replace:用新字符new替换字符串中的字符old。如果指定第三个参数max,则替换不超过 max 次。
count:统计字符串中某字符出现的次数
1 >>> s = "hello python , learn python" 2 >>> s.find('python') 3 6 4 >>> s.rfind('python') 5 21 6 >>> s.replace('python', 'linux') 7 'hello linux , learn linux' 8 >>> s 9 'hello python , learn python' 10 >>> s1 = s.replace('python', 'linux') 11 >>> s1 12 'hello linux , learn linux' 13 >>> s 14 'hello python , learn python' 15 16 >>> s.count("python") 17 2 18 >>> s.count("p") 19 2 20 >>> s.count("i") 21 0
7.字符串中的分离和拼接
split:通过制定分隔符对字符串进行分割,如果,参数num有指定值,仅分割Num 个字符串
join:将序列中的元素与指定的字符串连接成一个新的字符串
1 >>> ip = "172.25.254.19" 2 >>> ip1 = "1172.25.254.19" 3 >>> help(ip1.split) 4 5 >>> ip1.split('.') 6 ['1172', '25', '254', '19'] 7 >>> date = "2018-2-30" 8 >>> date.split("-") 9 ['2018', '2', '30'] 10 >>> date.replace('-', '/') 11 '2018/2/30' 12 >>> ip = ['1172', '25', '254', '19'] 13 >>> "".join(ip) 14 '11722525419' 15 >>> ":".join(ip) 16 '1172:25:254:19' 17 >>> "*".join(ip) 18 '1172*25*254*19'