文章目录
- 一、数字
- 1.1 基本的数字类型有:
- 1.2 整数数字表示方式
- 二、字符串
- 2.1 操作符
- 2.2 格式化
- 百分号
- format 格式化输出
- 位置匹配
- 2.3 字符串 索引和切片
- 2.4 切片:字符串 [ 起始索引:终止索引:步长 ]
- 字符串连接操作
- 三、列表
- 3.1 列表的定义
- 3.2 常用方法(功能:增删改查)
- 增
- 删除
- 改
- 查
- 遍历循环
- 其他
- 应用场景
- 总结
- 练习1
- 四、元组
- 4.1 元组的定义
- 4.2 常见操作
- 总结
- 五、字典
- 5.1 字典的定义
- 5.2 基本操作
- 创建字典
- 5.3 常见方法
- 访问字典:查询
- 获取所有的键
- 获取所有的值
- 获取所有键值对
- 更新键值
- 删除操作
- 其他
- 总结
- 练习 2:模拟用户登录信息系统
- 六、集合
- 常用方法
- 创建集合
- 集合类型操作符
- 添加元素 add()
- 删除元素
- 交集
- 并集
- 差集
- 其他
- 练习 3:比较文件内容
一、数字
1.1 基本的数字类型有:
- int:有符号整数
- bool:布尔值
- True:1
- False:0
- float:浮点数
>>> type(5) # 查看变量常量的类型,5为int 整数类型
<class 'int'>
>>> type(5.0) # 查看变量常量的类型,5.0为float 浮点数类型
<class 'float'>
>>> True + 3 # True 代表的值为1,结果为4;True 第一个字母必须是大写
4
>>> False * 3 # False 代表的值为0,0乘任何数均为0;False 第一个字母必须是大写
0
1.2 整数数字表示方式
Python 默认以十进制数 显示
- 数字以 0o 或 0O 开头表示为 8 进制数 # 8进制数范围:0 ~ 7
- 数字以 0x 或 0X 开头表示 16 进制数 # 16进制数范围:0 ~ 9,a ~ f
- 数字以 0b 或 0B 开头表示 2 进制数 # 二进制数范围:0,1
# python 默认以十进制数显示,十进制数范围:0 ~ 9
>>> 23
23# 以0o或0O开头表示8进制,0o23即将8进制数23,以十进制方法进行显示
# 8进制数23转为十进制方法: 2*8的1次方 + 3*8零次方 = 2*8 + 3*1 = 19
# 8进制数范围:0 ~ 7
>>> 0o23
19# 以0x或0X开头表示16进制,0x23即将十六进制数23,以十进制方法进行显示
# 十六进制数23转为十进制方法: 2*16的1次方 + 2*16零次方 = 2*16 + 3*1 = 35
# 16进制数范围:0 ~ 9,a ~ f
>>> 0x23
35# 以0b或0B开头表示二进制,0b10即将二进制数10,以十进制方法进行显示
# 十进制数10转为二进制方法: 1*2的1次方 + 0*2零次方 = 1*2 + 0*1 = 2
# 二进制数范围:0,1
>>> 0b10
2函数:>>> oct(100) # 函数oct(), 可以将十进制数100,转换为8进制数
'0o144'
>>> hex(100) # 函数hex(), 可以将十进制数100,转换为16进制数
'0x64'
>>> bin(100) # 函数bin(), 可以将十进制数100,转换为二进制数
'0b1100100'
二、字符串
2.1 操作符
- 比较操作符:字符串大小按 ASCII 码值大小进行比较
- 切片操作符:[ ]、[ : ]、[ : : ]
- 成员关系操作符:in、not in
2.2 格式化
- 可以使用格式化符号来表示特定含义
格式化字符 | 转换方式 |
---|---|
%s | 优先用str()函数进行字符串转换 |
百分号
print("字符串:%s,%s,%s" % (1, 22.22, [1, 2]))
结果
字符串:1,22.22,[1, 2]
注意
- 可以传入任意类型的数据,如 整数、浮点数、列表、元组甚至字典,都会自动转成字符串类型
format 格式化输出
- 相对基本格式化输出采用 % 的方法,format() 功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号 {} 作为特殊字符代替 %
位置匹配
print("今天是{}的{}生日会".format("帅哥", 18))
结果
今天是帅哥的18生日会
- Python 中字符串被定义为引号之间的字符集合
- Python 支持使用成对的单引号或双引号
- 无论单引号,还是双引号,表示的意义相同
- Python 还支持三引号(三个连续的单引号或者双引号),可以用来包含特殊字符
- Python 不区分字符和字符串
演示
# 三引号的使用,保存用户输入的格式,可以是三个单引号,也可以是三个双引号
>>> users="""tom ... bob ... alice ... """
>>> users # 输出内容,print把\n转换成回车
'\nbob\nalice\n'>>> name = 'zhangsan\nlisi\nwangwu' # 直接写\n也是可以的
>>> print(users) # 打印变量users,验证结果
>>> print(name) # 打印变量name,验证结果
zhangsan
lisi
wangwu# 两种符号共用
>>> sentance = "hello nfx, I'm your baby~" #正常打印
>>> print(sentance)
hello nfx, I'm your baby~#解决符号冲突
users=""" hello,i'm "dc", """
print(users)#字符串原样输出
str_py=''' aaa,bbb,ccc.'''
print(str_py) #字符串原样输出
结果:aaa,bbb,ccc.
2.3 字符串 索引和切片
- 使用索引运算符 [ ] 和 切片运算符 [ : ] 可得到子字符串
- 第一个字符的索引是0,最后一个字符的索引是 -1
- 子字符串包含切片中的起始下标,但不包含结束下标
图例
演示
>>> str_py = 'python' # 定义变量str_py, 值为python
>>> len(str_py) # 使用函数len(),统计变量str_py的字符长度
6
>>> str_py[0] # 默认字符的下标从0开始,取出变量str_py中的第一个字符p
'p'
>>> str_py[5] # 取出变量str_py中的第六个字符n
'n'
>>> str_py[-1] # 取出变量str_py的倒数第一个字符n
'n'
>>> str_py[-6] # 取出变量str_py的倒数第六个字符n
'p'>>> str_py[100] # 报错,索引越界
2.4 切片:字符串 [ 起始索引:终止索引:步长 ]
特点:含头去尾,能获取到 起始索引 位置上的元素,获取不到 终止索引 上的元素
常规:只写头和尾,不写步长默认为1
从头切:起始索引不写,默认从头切
切到尾:终止索引不写,默认切到尾
头尾都不写:默认切全部
加上步长切(案例1)
加上步长切(案例2)
倒着切
# 取出变量str_py='python'中,下标为2到下标为3之间的字符,下标为3的字符【h】不包含在内
>>> str_py[2:3]
't'
# 取出变量str_py中,下标为2到下标为4之间的字符,下标为4的字符【o】不包含在内
>>> str_py[2:4]
'th'
# 取出变量str_py中,下标为2到下标为5之间的字符,下标为5的字符【n】不包含在内
>>> str_py[2:5]
'tho'
# 取出变量str_py中,下标为2到下标为6之间的字符,下标为6的字符【n】不包含在内
>>> str_py[2:6]
'thon'
>>> str_py[2:6000] # 取出变量str_py中,下标为2字符之后的所有数据
'thon'
>>> str_py[2:] # 取出变量str_py中,下标为2字符之后的所有数据
'thon'# 取出变量str_py中,下标为0到下标为2之间的字符,下标为2的字符【t】不包含在内
>>> str_py