Python基本数据类型
1.列表(list)
1.1.本质
- 存储多个数据,能方便获取整体或者局部
- 描述:中括号括起来,内存可以存放多个数据值,数据值之间逗号隔开(数据值可以使任意类型)
- 基本使用:l1 = [1, 2, 3]
1.2.索引取值
- 在IT领域数字的起始位置通常是从0开始 现实生活中是从1开始
name_list = ['Tony', 'Mary', 'Bob']
print(name_list[0]) #Tony
print(name_list[1]) # Mary
print(name_list[2]) # Bob
print(name_list[100]) # 索引超出范围直接报错
遇到复杂构造的数据 先明确整体有几个数据值 然后再一步步拆分
l1 = [11, 22, [111, 222, 333, [123, 321, 666], 444]]
# 1.先获取666所在的小列表
# print(l1[2]) # [111, 222, 333, [123, 321, 666], 444]
# l2 = l1[2] # 将索引取值获取到的数据绑定给l2
# print(l2) # 之后就可以通过l2获取列表
# 2.再获取666所在的小小列表
# print(l2[3]) # [123, 321, 666]
# l3 = l2[3] # 将索引取值获取到的数据绑定给l3
# 3.变成了最简单的索引取值情况
# print(l3[2])
一步解决
print(l1[2][3][2])
2.字典(dict)
- 存储多个数据,能够方便的获取整体或者局部,数据具有对于解释
- 描述:大括号括起来 内部可以存放多个数据 数据的组织形式是K:V键值对(K是对V的描述性性质的信息,一般是字符串;V是真实的数据值,可以是任意数据类型)
- 字典取值:字典无法使用索引取值(因为字典是无序的),可以使用按K取值
按K取值
info_dict = {'姓名': 'Tony', '年龄': 18, '爱好': 'read'}
print(info_dict['姓名']) # Tony
print(info_dict['年龄']) # 18
print(info_dict['家产']) # K不存在直接报错
练习题
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)) # dict
print(type(s1)) # dict
ss = set() # 必须使用关键字才能定义空集合
print(type(ss))
用户交互
1.输入
- 本质:向计算机传递信息
input() # 获取用户输入
name = input('请输入用户名:')
- 先获取用户输入的数据
- 再赋值给左边的name
- 然后通过name反复使用用户输入的数据
2.输出
- 本质:计算机向外界输出信息
print() # 打印数据值(括号内可以直接放数据值,也可以一次性打印多个值)
格式化输出
- 在python中占位,需要使用占位符
- %s: 支持所有数据类型替换 (使用最多)
info1 = "%s您好!您已消费%s,余额是%s" print(info1 % ('NianBai', 500, 100)) print("%s您好!您已消费%s,余额是%s" % ('NianBai', 500, 100))- %d: 只支持给数字占位
info2 = "%d您好!您已消费%d,余额是%d" print(info2 % (99, 500, 100)) print("%s您好!您已消费%s,余额是%s" % (99, 500, 100))
基本运算符
1.算术运算符
+ 加
- 减
* 乘
/ 除
// 整除
% 取模
**(次方) 幂指数
2.比较运算符
== 等于
!= 不等于
变种情况
x = x + 1 # x += 1
x = x - 1 # x -= 1
x = x * 1 # x *= 1
x = x / 1 # 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) # 1
print(b) # 2
print(c) # [3, 4, 5, 6, 7, 8]
print(d) # 9
作业截图

posted on
浙公网安备 33010602011771号