《这三个Python内存问题,90%的新手都踩过坑》

0 阅读1分钟
  1. python三大小坑:
  1. 装饰器 @ 在不修改原函数代码的基础上 可用装饰器加上新增内容 ------ 目的:收到参数 将参数返回得到新的值。

  • 深拷贝 浅拷贝:
  1. 但不想改变它最初数据时用深拷贝:独立
  2. 若改变用浅拷贝:不独立

js

import copy

original = [[1, 2], [3, 4]] shallow = copy.copy(original) # 浅拷贝 deep = copy.deepcopy(original) # 深拷贝

修改嵌套列表

original[0][0] = 999

print(original) # [[999, 2], [3, 4]] print(shallow) # [[999, 2], [3, 4]] ← 跟着变了! print(deep) # [[1, 2], [3, 4]] ← 没变,独立的

  • 可变对象不可变对象:

:可变对象--- int str tuple : 不可变对象 --- list set dict

  • range and list(range())区别:

:总结:range适用于范围较少时,只记 (start , end)步长 list(range)适用于范围多时,占内存 一次性存, :提示 for中的range是循环的次数