字符串:查、字符、字符串相关方法、
回顾:
- 字典和列表的选择。如果同时保存多个意义相同的数据——列表,反之字典
- 什么是字典(dict),键值对必须是成对出现,字典是无序的,不支持下标操作
- 元素:对键的要求:只有不可变类型数据(字符串,元祖,数字,布尔型)键是唯一的。
- 基本操作:查:字典[键],如果键不存在会报错。字典.get(键)键不存在会返回空值,不会报错 / 字典.get(键,默认值):键不存在,返回默认值
- 直接遍历返回字典的键。同时取出字典的键和值: for keys,values, in 字典.item()
- 增加 :字典[键] = 值 ,字典.setdefault(键,值)
- 删除:del 字典[键] , 字典.pop(键)
- in ,not in(判断的是键)
- 相关方法 dict()
元组
元组(tuple):是容器类型数据,将()作为容器的标志,里面有多个元素用逗号隔开。元组数不可变数据类型(不支持增,删,改);有序的(支持下标操作)
-
空元组
-
只有一个元素的元组:唯一的那个元素后面必须加逗号
-
在没有歧义的时候小括号可以省略
tu = 10,20,15 print(type(tu ))
解包:直接使用多个变量获取元组,列表中的元素
字符串
-
什么是字符串:字符串是容器类型数据(字符串对应的容器智能保存多个文字符号)用’ ’ 或者" " ,里面的每一个字符就是一个元素。
str1 = 'abc' str2 = "abd" str3 = """avd"""
-
字符
str1 = 'abc'
print(str1.upper())
实际上是产生新的字符串
-
字符串是有序的
print("abc" == "cba") # False
-
字符串的元素分为两种:普通字符(符号在字符串中表示他本身)和转移字符(在字符串中有特殊含义)
转义字符是由\和另外一个或者多个符号一起组合而成;在特定的符号前加上反\
并不是所有的\ 开头的都是转义字符
-
str1 = "asd" print(str1) #普通字符 str2 = "a\tb123" #转义字符 (r"a\tb123")加一个r可以保持原来字符串,不转义 print(str2)
常见的转义字符:
\n : 换行 \t 引号
str1 = 'It\'s me'
print(str1)
-
r 字符串:在字符串引号前加R或者r。如果在字符串前面加上r可以让字符串中所有的转义字符功能消失。
-
str1 = r'It\'s lt\nme' print(str1)
-
编码字符:(所有的字符都可以表示成编码字符)\u 4位的十六进制
str1 = '\u4e00'
print(str1)
# 一(一在计算机中的编码4e00)
字符编码:计算机存储数据只能存储数字(计算机只具备存储数字的能力)
为了能让计算机保存文字信息,就给每一个文本符号对应的一个固定数字,存储时就存储相应的文本符号对应的数字。这个数字就叫做编码值。
编码表:ASCII :总共包含128个字符对应的编码值,只要包含常用的英文字符,数字字符和字符;Unicode编码,也叫万国码,(python),Unicode编码包含ASCII码,
中文编码:4e00 ~ 9fa5
print(0x9fa5 - 0x4e00) #有这么多个文字:print(0x9fa5 - 0x4e00)
编码值的应用:
- chr(编码值) ——获取指定编码值对应的符号
print(chr(97))
for i in range(0x4e00,0x9fa5):
print(chr(i),end= '')
#打印所有中文
- ord(字符) —— 获取指定字符为一的编码值(编码值以10进制方式返回)
print(ord('a'))
print(ord(("李")))
print(hex(26446)) #将数字转换成十六进制
案例:将小写字母转换成大写字符
print(chr(ord('a')-32))
字符编码:在字符中表示字符的编码方式有两种:直接提供字符串,也可以提供一个编码字符
判断 c = ‘n’ 保存的字符是否是中文
c = 'n'
if '一' <= c <='\u9fa5':
print('是中文')
else:
print("不是中文")
字符串比较大小:比较第一对不相等的字符的编码值的大小
字符串的基本操作
查:字符串获取元素和列表获取元素一模一样
message = 'hello Python'
print(message[0])
print(message[-1])
print(len(message))
print(message[1:5])