python数据类型
一、数据类型
什么是数据类型
- 在日常生活中不同事物拥有多种多样的表现形式,在程序中也是如此,需要不同的数据类型记录不同的变量值
为何学习数据类型
- 针对不同的数据采用最佳的数据类型来表示出该数据的价值
本次学习数据类型仅仅是了解
- 只要看到每个数据类型能够叫出他们的名字以及代码如何编写即可
如何查看数据值的数据类型
- 调用type(数据值)就能查看数据值的数据类型,也可以通过type(变量名),查看跟变量名绑定的数据值的数据类型
二、整型:int
- 就是数学中的整数,不能出现小数点,数据值可以修改
应用场景:年龄 班级人数 年份
age = 18
stu_num = 56
year = 2024
三、浮点型:float
- 在整数的基础上增加了展示小数点的功能,浮点型数据可以拥有很大的小数点位数,但是当我们使用print命令打印时只能看到前面一部分小数点,数据值可以修改
应用场景:身高 体重 薪资
height = 1.79
weight = 77.8
salary = 3.8
四、字符串:str
- 就是把数据值当成文本类型来存储,但是需要特定的存储符号,数据值可以修改
应用场景:姓名 地址 爱好
name = 'jason'
addr = '广东'
hobby = '篮球'
定义字符串有四种方式
name = 'jason'
name1 = "jason"
name2 = '''jason'''
name3 = """jason"""
为什么定义字符串需要多种方式
-
我们在字符串中编写文本时可能会使用到引号,为了避免冲突,就有了多种方式
-
注意:字符串是根据引号来进行定义的,比如两个双引号,只有成对的引号才能把其中的内容变成字符串
information = "鸡哥说'你说的对'"
# 鸡哥说'你说的对'
print(information)
information2 = "鸡哥说"你说的对''
# 这里会直接报错"鸡哥说"在双引号内,"你说的对"失去了定义
print(information2)
如何区分三引号是字符串还是注释
- 关注左侧是否含有赋值符号何变量名,如果有则为字符串,没有则为注释
五、列表:list
- 列表就是可以存储多个数据值的类型,并且可以非常方便的取何修改,建立列表需要用中括号把两边括起来,数据值与数据值之间逗号隔开,列表的数据值可以是任意数据类型,同时数据值可以修改
# 生成多个数据值
name_list = ['jason', 'tony', 'kevin', 'oscar', 'jerry']
# 放入任意类型的数据值
l1 = [11, 11.11, 'jason', [11, 22]]
六、字典:dict
- 能够非常精确的存储何表达数据值的含义
infor_diction = {'name':'jason', 'age':'19', 'hobby':'read'}
字典文字描述
- 大括号括起来,内部可以存放多个数据,数据的组织形式是k:v键值对,键值对与键值对之间逗号隔开,k是对v的描述性质的信息(解释说明),一般都是字符串类型,其中v是真正的数据值,可以是任意数据类型,输入时符合对应格式即可,但是k不能直接修改
按k取值
- 字典只能按k取值,因为字典是无序的,没有索引的概念
print(infor_diction['name'])
# 使用print(infor_diction['name'])后可以看到结果jason
七、布尔值bool
- 布尔值用来判断事物的对错 是否可行 主要用于流程控制中
# 判断是否正确
'''只有两种情况'''
True 对 正确的 可行的
False 错误 不可行的
# python中所以的数据都自带布尔值
布尔值为False的数据有:0 None '' [] {}
布尔值为True的数据有:除了上面的都是True
# 布尔值的变量命名规范:以is开头
is_right
is_delete
'''结果可能是布尔值的情况,我们都采用is开头命名'''
八、元组:tuple
- 元组可以说是用小括号组成的列表,中间的数据同样是用逗号隔开,数据类型可以是任意的,同时元组也可以索引取值,但是元组中绑定的内存地址不能修改,如果绑定的是一个列表,我们依旧可以修改列表中的数据值
example = (11, 22, 33, 44, [12, 23, 34, 'name'])
"""通过运行代码,我们可以发现修改其他元组内的数据值会直接报错,但是修改列表内的数据值是可以的"""
特殊情况
- 当元组内只有一个数据值,需要在小括号内的数据值后跟上一个逗号,否则数据类型就不是元组了,会变成你所写的数据对应的类型
example1 = (11,) # 是tuple类型
example2 = (11) # 是int类型
建议:以后在使用可以存放多个数据值的数据类型时 如果里面暂时只有一个数据值 那么也建议你加上逗号
列表和元组的区别
- 列表是动态数字,可变类型(可以修改内部的元素)
- 元组是静态数组,不可变类型(定义了就不能修改内部元素)
- 元组缓存于python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存
- 这些区别结实率两者在设计哲学上的不同:列表可被用于保存多个互相独立对象的数据集合,而元组用于描述一个不会改变的事务的多个属性
六、集合set
- 集合跟数学中的集合定义相似,用大括号组成,中间插入数据值并用逗号隔开,但是不像字典需要kv键值对的形式表示
举例
s1 = {1, 2, 3, 4, 5, 6}
"""集合多用于去重和关系运算,只能是不可变类型,空集合需要用特殊的方法定义,否则会显示成字典类型"""
s1 = {}
s2 = set()
print(type(s1)) # <class 'dict'>
print(type(s2)) # <class 'set'>