Python小白学习笔记四(容器类型 1 )
容器类型(一)
通用操作
数学运算符
+:用于拼接两个容器
+=:用原容器与右侧容器拼接,并重新绑定变量
*:重复生成容器元素
*=:用原容器生成重复元素, 并重新绑定变量
< <= > >= == !=:依次比较两个容器中元素,一但不同则返回比较结果。
语法:
1 # 容器通用操作
2 # 数学运算符
3 # + +=:两个容器中所有元素拼接
4 str01 = "悟空" + "八戒"
5 print(str01) # 悟空八戒
6
7 # * *=:容器中元素重复
8 str02 = "悟空" * 2
9 print(str02) # 悟空悟空
10
11 # > <:依次比较两个容器中元素,一但不同则返回比较结果。
12 print("悟空" > "八戒")
13
14 # 成员运算
15 print("悟空" in "我是花果山水帘洞美猴王孙悟空")
16 print("悟空" not in "我是花果山水帘洞美猴王孙悟空")
成员运算符
数据 in 序列
数据 not in 序列
作用:
如果在指定的序列中找到值,返回bool类型。
索引index
作用:定位单个容器元素。
语法:容器[整数]
说明:
正向索引从0开始,第二个索引为1,最后一个为len(s)-1。
反向索引从-1开始,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(s)。
1 # 索引
2 容器名[整数]
3 # 定位某个位置的数据
4 message = "我是齐天大圣孙悟空"
5 print(message[0])# 我
6 # print(message[99])# IndexError
7 print(message[-2])# 悟
切片slice
作用:
1.定位多个容器元素。
2.语法:
容器[开始索引:结束索引:步长]
说明:
结束索引不包含该位置元素
步长是切片每次获取完当前元素后移动的偏移量
开始、结束和步长都可以省略
1 # 切片
2 # 容器[整数:整数:整数]
3 # 定位多个数据
4 # 为了生成整数
5 # for item in range(1,5,1):
6 # print(item)
7
8 message = "我是齐天大圣孙悟空"
9
10 # 写法1:容器名[开始:结束:间隔]
11 # 注意:不包含结束
12 print(message[1:5:1]) # 是是齐天大
13
14 # 写法2:容器名[开始:结束]
15 # 注意:间隔默认为1
16 print(message[1:5]) # 是是齐天大
17
18 # 写法3:容器名[:结束]
19 # 注意:开始默认为头
20 print(message[:5]) # 我是齐天大
21
22 # 写法4:容器名[:]
23 # 注意:结束默认为尾
24 # 圣孙悟空
25
26 # 特殊1:没有越界
27 print(message[:100]) # 我是齐天大圣孙悟空
28 # 特殊2:反转
29 print(message[::-1]) # 空悟孙圣大天齐是我
30
31 message = "我是齐大圣孙悟空"
内建函数
len(x) 返回序列的长度
max(x) 返回序列的最大值元素
min(x) 返回序列的最小值元素
sum(x) 返回序列中所有元素的和(元素必须是数值类型)
字符串 str
定义
由一系列字符组成的不可变序列容器,存储的是字符的编码值。
编码
字节byte:计算机最小存储单位,等于8 位bit.
字符:单个的数字,文字与符号。
字符集(码表):存储字符与二进制序列的对应关系。
编码:将字符转换为对应的二进制序列的过程。
解码:将二进制序列转换为对应的字符的过程。
编码方式:
--ASCII编码:包含英文、数字等字符,每个字符1个字节。
--GBK编码:兼容ASCII编码,包含21003个中文;英文1个字节,汉字2个字节。
--Unicode字符集:国际统一编码,旧字符集每个字符2字节,新字符集4字节。
--UTF-8编码:Unicode的存储与传输方式,英文1字节,中文3字节。
相关函数
ord(字符串):返回该字符串的Unicode码。
chr(整数):返回该整数对应的字符串。
单引号内的双引号不算结束符
双引号内的单引号不算结束符
换行会自动转换为换行符\n
三引号内可以包含单引号和双引号
作为文档字符串
字面值
单引和双引号的区别:
单引号内的双引号不算结束符
双引号内的单引号不算结束符
三引号作用:
换行会自动转换为换行符\n
三引号内可以包含单引号和双引号
作为文档字符串
1 # 字符串字面值
2 # 写法1:单引号
3 content01 = '我爱编程'
4 # 写法2:双引号
5 content02 = "我爱编程"
6 # 写法3:三引号
7 # -- 可见即所得
8 content03 = '''
9 我 爱
10 编 程'''
11 print(content03)
12 content03 = """我爱编程"""
13
14 # 解决冲突问题方案1:
15 content04 = '我爱"Python"编程'
16 content05 = "我爱'Python'编程"
17 content06 = """我爱'P'yth"on"编程"""
18
19 # 解决冲突问题方案2:
20 # -- 转义字符:改变原始含义的特殊字符
21 # \" \n换行 \\ r"...."原始字符
22 content06 = "我爱\"Python\"编程"
23 print(content06)
24
25 # 路径: \\
26 url = "C:\\nRIVERS\\bMDVGA\\driver\\Images"
27 url = r"C:\nRIVERS\bMDVGA\driver\Images"
28 print(url)
转义字符
1.改变字符的原始含义。
\’ \” \””” \n 换行 \\ \t \0 空字符
2.原始字符串:取消转义。
a = r”C:\newfile\test.py”
字符串格式化
定义:生成一定格式的字符串。
1.语法:字符串%(变量)
"我的名字是%s,年龄是%s" % (name, age)
2.类型码/占位符
%s 字符串 %d整数 %f 浮点数
注:%.2d 整数使用2位,不足用0填充
%.2f 即结果保留2位小数,不足用0填充