栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python可变/不可变对象

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python可变/不可变对象

搞懂可变和不可变内置对象有利于理解函数参数的副作用

  • 那些是可变对象?那些不可变?
  • 不可变对象bool/int/float/tuple/str/frozenset
  • 可变对象list/set/dict

小测试:输出什么结果?

def clear_list(l):
l = []
ll = [1,2,3]
clear_list(ll)
print(ll)   ------[1, 2, 3]

python可变参数作为默认参数。
!!!记住默认参数只计算一次

def flist(l = [1]):
l.append(1)
print(l)
flist()------[1,1]
flist()------[1, 1,1]

i = 73
i+=2

修改对象的值,并不会在原来的内存地址中对值进行修改,而是会在一块新的内存区域内创建新值,然后将原变量指向新地址,原内存区域内的对象也不会发生变化,也就是原来位置上还是73,他之后会被python当做垃圾进行回收,这就是不可变对象。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/840488.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号