理解python中的可变类型、不可变类型及如何改变函数中的参数

本文探讨了Python中的可变类型(如list、dict)与不可变类型(如字符串、元组)的区别,以及它们在函数参数中的行为。通过示例展示了在函数内部修改不可变类型不会影响外部变量,而可变类型则会。同时,提到了tuple包含可变类型的特殊情况,并预告了变量存储与拷贝的问题。
摘要由CSDN通过智能技术生成

可以将python中常见数据类型按照可变与不可变大致分为两类

可变类型 不可变类型
列表、字典、类 数值型、字符串、元组

理解可变与不可变
  熟悉python的都知道,像字符串和元组创建之后是无法更改的,如果更改那么就只能替换掉,也就是说丢弃原来的存储空间,将变量名链接到新的空间中。而像list和dict是支持增删改的。
以list和tuple增加元素的操作为例(用内置函数 id(var) 来查看变量内存地址)

x   = [1,2]
print('mutable var:list')
print('original:', id(x))
x.append(10)
print('modifed:', id(x))

print('\n')

print('immutable var:tuple')
y = tuple([1, 2])
print('original:', id(y))
y+=(10,)
print('modified:', id(y))

reuslt:

mutable var:list
original: 140611793965640 [1, 2]
modifed: 140611793965640 [1, 2, 10]


immutable var:tuple
original: 140611829612104 (1, 2)
modified: 140611793818824 (1, 2, 10)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值