1 意义
-
字符串是用来传递信息的。
-
使用单引号(‘’)、双引号(“”)引起来的一串符号叫字符串。
2 性质
- 有序的(下标、切片)
- 不可变的(没有增删改)
- 容器符号 ‘ ’,“ ”,‘‘‘ ’’’,“““ ”””;类型:str
- 字符串分类:普通字符、转义字符、原始字符串
3 分类
-
转义字符
有特殊含义的符号。C语言规定反斜杠(\)+特定符号表示有特殊意义的符号。
反斜杠(\)+指定符号可以使有特殊含义的符号变成其本身,可以让没有特殊含义的符号变得有特殊意义。print('ab\tc\nd') print('ab\'cd') print('ab\\tcd') 结果: ab c d ab'cd ab\tcd
-
原始字符串
在字符串前边添加r或R,能够将字符串中的转义字符变成它本身。
一个转义字符长度始终是1,添加了原始字符串的字符串长度为2。print('12\t34') print(r'12\t34') print(len(r'\t'), len('\t')) 结果: 12 34 12\t34 2 1
4 字符串的运算
-
字符串的拼接(得到新字符串对象)
将两个及以上的字符串连接起来,成为一个新的字符串。print('ab' + 'cd') 结果:abcd
-
字符串的重复
将字符串重复整数倍,组成一个新字符串。print('*' * 10) 结果:**********
-
字符串的比较大小
比较第一对不相同元素的大小(转换为编码值,再比较大小)。
python使用的编码表是ASCII码表的拓展表Unicode编码表。ASCII码如下图所示。
- chr()能够将进制转换成符号
- ord()能够将符号转换成十进制
所有中文的十六进制为:\u4e00(19968)——\u9fa5(40869)str2='abc' str3='' for i in str2: str3+=chr(ord(i)-32) print(str3) str4='abcABC' str5='' for i in str4: if 'a'<i<'z': str5+=chr(ord(i)-32) elif 'A'<i<'Z': str5+=chr(ord(i)+32) else: str5+=i print(str5) 结果: ABC aBCAbc
-
字符串的成员运算in、 not in
注意:一个回车键代表一个\n,长度为1
(1)字符串的遍历(循环)
-
直接遍历:for循环直接遍历字符串。
-
间接遍历:for循环遍历字符串的下标。
str1 = '你好哦,生米!' # 直接遍历 for i in str1: print(i, end='') # 间接遍历 for i in range(len(str1)): print(str1[i], end='') 结果: 你好哦,生米!你好哦,生米!
(2)字符串的方法和函数
- upper()小写字母转大写字母
- lower()大写字母转小写字母
- capitalize()将字符串中首字母转大写,必须是以字母开头的字符串
- title()将字母中所有连续用英文字母的子串首字母转大写
- split()切割,以指定符号为切割点,将切割点左右的字符串分开并保存到列表中
- join()将一个所有元素均为字符串的序列中的所有元素一指定符号拼接起来
- strip()默认去掉字符串头尾的空符号(空格、\n、\t),也可以指定去除的符号
- replace()替换
1)replace(‘old_str’,‘new_str’)将一个字符串中全部old_str替换成new_str
2)replace(‘old_str’,‘new_str’,‘次数’)将一个字符串中指定数量的old_str替换成new_str
-