字符串:
查、字符 、字符串相关方法、字符串格式化
元组
-
什么是元组(tuple)
- 元组是容器型数据:将()作为容器的标志,里面多个元素用逗号隔开:(数据1,数据2,…)。
- 元组是不可变的(不支持增删改);有序的(支持下标操作)。
- 元素:没有要求。
注意:只有一个元素的元组在表示的时候,唯一的元素后面必须加逗号。
-
在没有歧义的情况下,元组的()可以省略 (直接将多个数据用逗号隔开表示的也是一个元组)。
t4=10,20,30 print(t4,len(t4),type(t4)) # (10, 20, 30) 3 <class 'tuple'>
-
解包 - 使用多个变量直接获取元组、列表中的多个元素。
list1 = (100,200,300) for index,item in enumerate(list1): print(index,item)
-
元组就是不可变的列表,列表中与可变无关的操作,元组都支持。
字符串
-
什么是字符串(str)?
- 字符串是容器型数据(字符串对应的容器只能保存多个文字符号(字符))。将’ '或" "作为容器的标志,里面的每个符号就是字符串中的每个元素。
- 特点:不可变的(不支持增删改);字符串有序(支持下标操作)。
- 元素:引号中的每个符号都是字符串的元素(任何文字符号都可以是字符串的元素),字符串的元素叫做字符。
注意:字符串的元素(字符)分为两种:普通字符(符号在字符串中表示它本身)、转义字符(符号在字符串中具有特殊功能)。
字符串不可变,所有可变操作都是在创建对应的新字符串 str='man' new_str1=str.upper() 普通字符 str3='ak' print(str3) \t是转义字符 str4='a\tb123' print(str4)
-
转义字符
(1)字符:字符串中每个独立的符号。
- 转义字符由\和另外一个或多个符号一起组合而成(转义字符一定是’'开头)。
- 在特定的符号前加上\,让这个符号在字符串中具有特殊的功能或者特殊意义的字符就是转义字符。
- 转义字符有哪些是固定的(并不是随便一个字符前加上\都可以变成转义字符);
常见的转义字符:
\n:换行 \t:水平制表符(相当于按Tab键) \':表示一个普通的单引号。 \":表示一个普通的双引号。 \\:表示一个普通的反斜杠。
(2)r字符串——在字符串引号前加r/R
- 如果表示字符串的时候在字符串引号前加r/R,可以让字符串中所有的转义字符功能消失(r字符串中所有的字符都是普通字符)。
(3)编码字符(所有的字符都可以表示成编码字符)
- 格式:\u四位的十六进制数
如:\u4e00、\u0023
- 在字符串中表示字符的方式有两种:直接提供字符,也可以提供一个字符。
- \u4位的16进制编码值。
# 案例:判断c2保存的字符是否是中文 c2='哈' if '\u4e00' <= c2 <= '\u9fa5': print('是中文') else: print('不是中文')
注意:两个字符串比较大小,比较的是第一对不相等的字符的编码值的大小。
```python print('abc'>'一zzzzashf') # False ```
-
字符编码
(1)字符编码
-
计算机存储数据只能存数字(计算机只具备存储数字的能力)。
-
为了能够让计算机保存文字信息,就给每一个文本符号对应一个固定的数字,每次在需要存储这个文本符号时,就存储这个符号对应的数字。这个数字就叫这个符号的编码值。
(2)编码表 —— 保存每个符号对应的编码值的表
-
ASCII码表
- 总共有128个字符对应的编码值,主要包含:常用的英文符号、数字字符、字母。
A-Z:65-90 a:97
- 总共有128个字符对应的编码值,主要包含:常用的英文符号、数字字符、字母。
-
Unicode编码表(python)
-
Unicode编码表中包含ASCII表。
-
Unicode又叫统一码、万国码,它包含了世界上所有国家所有民族的所有语言符号。
-
中文编码:4e00 ~ 9fa5
-
(3)编码值的应用
- chr(编码值) —— 获取指定编码值对应的字符
print(chr(97)) # a print(chr(0x4e00)) # 一 print(chr(0x9fa5)) #龥(yù) #打印蒙古文 for i in range(0x2800,0x28ff): print(ch(r))
-
ord(字符)——获取指定字符对应的编码值(编码值以十进制的形式返回)
注意:字符——长度为1的字符串。
hex(数字) —— 将数字转换为16进制数。
#案例:将小写字母转换为大写字母 c1='m' print(chr(ord('m')-32))
-
-
字符串的基本操作
-
)查:字符串获取元素和列表获取元素的语法一模一样。
essage = 'hello python!' print(message[0],message[-1],message[4]) #切片 print(message[1:-1:2]) # 'el yhn' print(message[1:4:-1]) # '' print(message[1:]) # 'ello python!' #遍历 #1. for i in message: print(i) #2. for index in range(len(message)): print(index,message[index]) #3. for index,item in enumerate(message): print(index,item)
-
)数学运算:+、*
- 字符串1+字符串2 - 将两个字符串合并,产生一个新的字符串。
- 字符串*n - 字符串重复n次产生一个新的字符串。
-
)in 和 not in
- 字符串1 in 字符串2 - 判断字符串2中是否包含字符串1。
str2='hello' print('he' in str2) # True
-