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
- 作用:
定位多个容器元素。
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)
转义字符
- 改变字符的原始含义。
\’ \” \””” \n 换行 \\ \t \0 空字符
2.原始字符串:取消转义。
a = r”C:\newfile\test.py”
字符串格式化
- 定义:生成一定格式的字符串。
2.语法:字符串%(变量)
"我的名字是%s,年龄是%s" % (name, age)
3.类型码/占位符
%s 字符串 %d整数 %f 浮点数
注:%.2d 整数使用2位,不足用0填充
%.2f 即结果保留2位小数,不足用0填充
浙公网安备 33010602011771号