容器型数据类型; 将’‘、“”、’‘’‘’'、“”“”""作为容器的标志里面的每个符号就是字符串中元素。
不可变的(不支持增删改);有序的(支持下标操作)
元素(字符):可以是任何文字符号, 包括:数字、字母、汉字、日文、韩语、表情符号、标点等
str1 = '10,20,30'
str2 = '12,=)*mksJkH在广州😁❀'
str3 = "abc\n123"
print(str3)
str4 = '''abc
123'''
print(str4, type(str4))
字符 - 字符串中的元素(字符串每一个独立的符号)
字符串中的字符可以分为两种:普通字符、转义字符
1)普通字符: 在字符串中表示符号本身的字符
2)转义字符: \和指定的一些符号组合在一起表示特殊功能或者特殊意义的字符。
转义字符是C语言创建的,但是很多都已经没有存在的价值的,目前常用的转义字符:
\n - 换行
\t - 水平制表符(相当于按一次tab键)
’ - 表示一个普通的单引号
" - 表示一个普通的双引号
\ - 表示一个普通的反斜杠
str5 = 'abcKH1234,😁'
print(str5)
str6 = '\m\k\l'
print(str6) # \m\k\l
str7 = '=\a=\f='
print(str7)
str8 = '\tabc\n123'
print(str8)
str9 = 'it\'s me'
str10 = "it's me"
str11 = "i say: \"you see see, one day day!\""
print(str11)
str12 = 'i say: \"you see see, one day day!\"'
str13 = '\\name\yuting\论文.txt'
print(str13)
str14 = '\u4e01abc'
print(str14)
#丁abc
在字符串的最前面加r或者R,可以让字符串中所有的转义字符功能消失(让字符串中的所有字符自动变成普通字符)
str1 = r'\tabc\n123\''
print(str1) #\tabc\n123\'
path = R'C:\ser\test\name\yuting\demo\t.txt'
print(path) #C:\ser\test\name\yuting\demo\t.txt
计算机存储数据的时候只能存数字(存的是数字对应的二进制的补码);
为了能够让计算机存储字符,给每个字符对应一个固定的数字,每次需要存储这个字符的时候就去存这个数字;
每个字符对应的那个数字就是这个字符的编码值。
1)ASCII码表 - 有128个字符对应的编码值(只要包含英文符号和其他西欧语言对应的符号)
数字字符0~9从48开始连续递增
大写字母A~Z从65开始连续递增
小写字母a~z从97开始连续递增
2)Unicode编码表(Python) - 是ASCII码表的扩展(包含了ASCII码表),包含了世界上所有国家所有民族所有语言的对应的符号(统一码、万国码)
中文范围:4e00 ~ 9fa5
print(chr(97), chr(65))
#### 打印所有的大写字母
for x in range(65, 65+26):
print(chr(x))
print(chr(0x4e00), chr(0x9fa5))
for x in range(0x4DC0, 0x4DFF+1):
print(chr(x), end=' ')
print()
print(ord('牛'), ord('子'))
print(hex(20313), hex(23159))
print(ord('a'))
str1 = 'a余'
str2 = '\u0061\u4f59'
print(str1, str2)
print('在Unicode编码表中最后一个中文是:', '\u9fa5')
str1 = 'good good study! day day up!'
print(str1[3], str1[-2])
str2 = '\tabc\n123\u4e00m'
print(str2[1], str2[-3])
message = '小明的电话号码是:13678192303'
print(message[-11:]) # '13678192303'
print(message[3:-2:-2]) # ''
print(message[1:-1:2]) # '明电号是16893'