day8-字符串
一、字符串和字符
1、什么是字符串
- 字符串是容器型数据类型,将单引号或者双引号,或者三个单引号、三个双引号(可以直接换行)作为容器的提示,里面的每个独立的文字信息就是他的元素(引号中的每个符号都是字符串的元素)
- 元素:引号中的每个符号,文字符号,图形符号,各种符号都可以,元素又叫字符
- 特点:不可变(支持增删改);有序的(支持下标操作)
- 如果题目里有对字符串就行修改的操作是产生一个新的字符串,原字符串是不会修改的
s1 = 'a6,您好'
s2 = '❥(^_-)'
s4 = '''abc
123
您好吗?'''
s5 = """abcdefg"""
2、字符
- python中只有字符的概念,没有对应的数据类型
- 如果需要字符用长度是1的字符串来表示
(1)转义字符
- 字符串中的元素/符号/字符分为两种:有一种是普通字符,另外一种是转义字符
- a.普通字符 - 除了转义字符以外的字符都属于普通字符;普通字符在字符串中表示这个符号本身
- b.转义字符 - 通过一个\加其他字符的形式存在,他在字符串中有特殊功能或者特殊意义
- \n - 换行(相当于按一下回车)
- \t - 水平制表符(相当于按一下tab键)
- ’ - 表示一个单引号
- " - 表示一个双引号
- \ - 表示一个反斜杠
- \(u)四位的16进制数 - 表示四位16进制数作为编码值对应的字符(编码字符)
s6 = 'abc\n123'
print(s6)
s7 = '\tabc\n123'
print(s7)
s8 = 'zbc\'123'
print(s8)
s9 = " zbc'123"
print(s9)
s10 = 'abc\\n123'
print(s10)
s11 = 'abc\u4eff123'
print(s11)
3、字符编码
- 计算机能直接存储的数据只有数字,而且存的是数字的补码
- 文本数据没有办法直接存到计算机中,计算机在保存文本数据的时候存的其实是每个文本符号对应的数字
对计算机来讲,每个文本符号都会对应一个固定的数字,每一个文本符号对应的数字就是该符号的编码值
- 字符编码表:ASCII码表,Unicode编码表
编码表中保存的就是每个符号和数字之间的一一对应关系
- ASCII码表:a.总共128字符,每个字符对应的编码范围:0~127
(布局)b.数字在字母的前面;大写字母在小写字母的前面;大写字母和小写字母没有紧挨着,中间有间隔
- Unicode编码表:a.Unicode编码表是对ASCII码表的扩展
b.中文编码范围:4e00 ~ 9fa5
c.python采用的Unicode编码表
4、编码值的使用
(1)编码字符:\u编码值
print('\u4e00~\u9fa5')
print('a\u0061')
print('\u096f')
print('\u1120')
(2)chr(编码值)- 获取指定编码值对应的字符
print(chr(0x4e00))
for x in range(0x4e00, 0x9fa5):
print(chr(x), end=' ')
(3)ord(字符) - 获取字符编码值
print(ord('