Python基本数据类型
1.列表(list)
1.1.本质
- 存储多个数据,能方便获取整体或者局部
- 描述:中括号括起来,内存可以存放多个数据值,数据值之间逗号隔开(数据值可以使任意类型)
- 基本使用:l1 = [1, 2, 3]
1.2.索引取值
- 在IT领域数字的起始位置通常是从0开始 现实生活中是从1开始
| name_list = ['Tony', 'Mary', 'Bob'] |
| print(name_list[0]) |
| print(name_list[1]) |
| print(name_list[2]) |
| print(name_list[100]) |
| |
| 遇到复杂构造的数据 先明确整体有几个数据值 然后再一步步拆分 |
| l1 = [11, 22, [111, 222, 333, [123, 321, 666], 444]] |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| 一步解决 |
| print(l1[2][3][2]) |
2.字典(dict)
- 存储多个数据,能够方便的获取整体或者局部,数据具有对于解释
- 描述:大括号括起来 内部可以存放多个数据 数据的组织形式是K:V键值对(K是对V的描述性性质的信息,一般是字符串;V是真实的数据值,可以是任意数据类型)
- 字典取值:字典无法使用索引取值(因为字典是无序的),可以使用按K取值
| 按K取值 |
| info_dict = {'姓名': 'Tony', '年龄': 18, '爱好': 'read'} |
| print(info_dict['姓名']) |
| print(info_dict['年龄']) |
| print(info_dict['家产']) |
| 练习题 |
| data = { |
| 'name': 'jason', |
| 'others': [ |
| 111, |
| 222, |
| { |
| 'a1': '嘿嘿', |
| 'a2': '哈哈', |
| 'a3': [ |
| 123, |
| { |
| 'name': 'jason1', |
| 'age': 18 |
| }]}]} |
| 1.先获取大列表 |
| l1 = data['others'] |
| # print(l1) # [111, 222, {'a1': '嘿嘿', 'a2': '哈哈', 'a3': [123, {'name': 'jason1', 'age': 18}]}] |
| # 2.获取大列表中的字典 |
| d1 = l1[2] |
| # print(d1) # {'a1': '嘿嘿', 'a2': '哈哈', 'a3': [123, {'name': 'jason1', 'age': 18}]} |
| # 3.获取字典的值 |
| l2 = d1['a3'] |
| # print(l2) # [123, {'name': 'jason1', 'age': 18}] |
| # 4.获取列表的数据 |
| l3 = l2[1] |
| # print(l3) # {'name': 'jason1', 'age': 18} |
| # 5.按k取值 |
| # print(l3['age']) |
| |
| 以上简写一步为: |
| print(data['others'][2]['a3'][1]['age']) |
3.布尔值(bool)
- 本质:用来表示事物是否可行、是否正确、是否合理(总共就两个值)
- 基本使用
- is_right = True # 真 可以 正确
- is_delete = False # 假 不可以 错误
- 布尔值在程序中是最多的,也是使用频率最高的
- 存储布尔值的名字一般使用is开头
- 布尔值类型转换
- 程序中所有的数据类型都可以转成布尔值
- 布尔值为False的数据有
- 0 None 空字符串 空列表 空字典 ...
- 除上述之外所有的数据对于的布尔值都是True
- 所有的编程语言都有布尔值,只是关键字和值可能有变化
3.元组(tuple)
- 本质:存储多个数据,能方便获取整体或者局部,与列表的区别在于元组内数据值不能"直接修改" 而列表可以,所以元组有一个小外号——不可变的列表
- 作用:一般用于存储一些只能看不能改的数据
- 描述:小括号括起来 内存可以存放多个数据值 数据值与数据值之间逗号隔开(数据值可以是任意数据类型)
- 基本使用:t1 = (1, 2, 3)
4.集合(set)
- 集合只用于去重和关系运算
- 去重:自动去除重复的数据
- 关系运算:判断两个集合之间数据的关系
- 基本使用:s1 =
- 定义空集合
| 1 = {} |
| s1 = {} |
| print(type(d1)) |
| print(type(s1)) |
| ss = set() |
| print(type(ss)) |
用户交互
1.输入
| input() |
| name = input('请输入用户名:') |
- 先获取用户输入的数据
- 再赋值给左边的name
- 然后通过name反复使用用户输入的数据
2.输出
| print() # 打印数据值(括号内可以直接放数据值,也可以一次性打印多个值) |
格式化输出
- 在python中占位,需要使用占位符
| info1 = "%s您好!您已消费%s,余额是%s" |
| print(info1 % ('NianBai', 500, 100)) |
| print("%s您好!您已消费%s,余额是%s" % ('NianBai', 500, 100)) |
| info2 = "%d您好!您已消费%d,余额是%d" |
| print(info2 % (99, 500, 100)) |
| print("%s您好!您已消费%s,余额是%s" % (99, 500, 100)) |
| |
基本运算符
1.算术运算符
| + 加 |
| - 减 |
| * 乘 |
| / 除 |
| // 整除 |
| % 取模 |
| **(次方) 幂指数 |
| |
2.比较运算符
变种情况
| x = x + 1 |
| x = x - 1 |
| x = x * 1 |
| x = x / 1 |
多种赋值符号
| x = 1 |
| y = x |
| x = z |
| x = y = z = 1 |
| 让m绑定n绑定的数据值 让n帮忙m绑定的数据值 |
| m = n |
| n = m |
| print(m) |
| print(n) |
| |
| 方式1:利用中间变量 |
| tmp = m |
| m = n |
| n = tmp |
| print(m, n) |
| |
| 方式2:交叉赋值 |
| m, n = n, m |
| print(m, n) |
2.解压赋值
本质:赋值符号的左边至少有两个及以上的名字
| 左边的名字和右边的数据值,个数一致 |
| name_list = ['jason', 'tony', 'kavin'] |
| name1, name2, name3 = name_list |
| |
| 当带解压的数据非常多 |
| l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9] |
| a, b, *c, d = l1 |
| print(a) |
| print(b) |
| print(c) |
| print(d) |
作业截图

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)