Python中的值类型与引用类型!老男孩Python培训
老男孩IT教育
常见问题
2022年12月14日 10:35
Python的值类型有int、str、tuple,指元素不可变的,要改变只能重新声明或覆盖,Python的引用类型有set、list、dict,指元素的值是可变的,以下是详细的内容:
Python的值类型有int、str、tuple,指元素不可变的,要改变只能重新声明或覆盖,Python的引用类型有set、list、dict,指元素的值是可变的,以下是详细的内容:
值类型(不可变类型)和引用类型(可变类型)
把可修改(mutable)的类型叫做值类型,不可修改(immutable)类型叫做引用类型。
值类型
在Python中,数值(整型,浮点型),布尔型,字符串,元组属于值类型,本身不允许被修改(不可变类型),数值的修改实际上是让变量指向了一个新的对象(新创建的对象),所以不会发生共享内存问题。
a = 1
b = a
a = 2
print(b) #输出的结果是1
# 修改值类型的值,只是让它指向一个新的内存地址,并不会改变变量b的值
引用类型
在Python中,列表,集合,字典是引用类型,本身允许修改(可变类型)。
list_a = [1,2]
list_b = list_a
print(id(list_a), id(list_b))
list_a[0] = 3
print(list_b) #此时的输出结果是[3,2]
# 修改引用类型的值,因为list_b的地址和list_a的一致,所以也会被修改
# 一般只为了复制值,可以使用分片操作。还可以使用拷贝操作
老男孩教育是Python培训领域的专家,2012年就开展了Python培训,是行业较早的Python培训机构,积累了大量的Python培训教学经验,并能全局把控企业用人指标,科学的制定Python教学课程体系,满足5-8年职业生涯需求,让学员轻松拿下高薪职位!
推荐阅读:
