1.什么是字符串(str)
字符串属于容器型数据型,又叫序列。将引号(可以是单引号也可以是双引号)作为容器,字符是元素。
不可变(字符个数、字符值和顺序不可变)、有序(字符的顺序不同,字符串的值不一样)
str1 = "ahsg34" 字符串有序,False
print("hello" == "heoll")
print({1,2,3}) == {2,1,3}
2.字符串中的内容
字符串中的每个基本单元就是字符;python中有字符的概念,但是没有字符对应的数据类型。
1)普通字符:例如:字母,数字,文字
"asjdfk"
"1221"
"文件否定是否绝对是"
"*=-、%"
2)转义字符:在指定的符号前加\来表示一些具有特殊功能或者特殊意义的符号
\n - 换行
\t - 制表符
' - 一个单引号
" - 一个双引号
\ - 一个反斜杠
str2 = "\t123\nabc"
str3 = "123\"abc"
str4 = "123\\nabc"
print(str2,str3)
print(str4)
3)编码字符串:用\u加四位十六进制编码值,表示一个编码值对应的字符
str5 = "\4eff\u0061"
print(str5)
4)编码:计算机存储字符的时候实质存的是字符对应的编码值,每个字符的编码值是固定的
计算机本身只有存储数字的能力,而且存的是数字的补码(二进制)
a -> 97
字符和字符的编码的一一对应关系叫编码表。常见的编码表有:ASCII和Unicode表,python的字符采用的是Unicode编码
(Unicode表示对ASCII表的扩充,包含了世界上所有的语言符号)
中文的编码范围:0x4e00-0x9fa5
chr(编码值) -- 获取编码值对应的字符
ord(字符) -- 获取字符的编码值
print(chr(97))
print(chr(0x9fa5))
num = 0
for code in range(0x4e00,0x9fa5+1):
num += 1
if num% 30 == 0:
print()
print(chr(code),end="")
print(hex(ord("余")),hex(ord("婷")))
5)阻止转义:在字符串的最前面加r/R可以阻止当前字符串中的所有转义字符转义
注意:一个转义字符和一个编码字符的长度都是1
str6 = r"\tabc\n123\u4e03"
print(str6)