python入行007(深浅拷贝、while循环)

1 对于可变容器类型数据

  ——直接赋值、浅copy、深copy三种操作的异同

python入行007(深浅拷贝、while循环)

  (1)直接赋值 var2 = var1

  变量名映射的地址是一致的,两个变量指向的是堆区同一个地址,var1的值改变var2也跟着改变。

  (2)浅copy var2 = var1.copy()

  变量名的id是不同的,即堆区中第一层的内存地址是不同的。var1中的不可变类型元素改变不会影响var2中的元素,但是可变类型的元素是在原地址上发生变化,因此var2也会跟着发生变化。

  (3)深copy

  import copy

  var2 = copy.deepcopy(var1)

  var2对var1中的可变类型元素都复制了一份新的地址(浅copy只针对第一层,深copy针对所有层)。

2 循环

  (1)退出循环的两种方式

    ——条件为False的时候退出

    ——使用break退出当层循环

  (2)while + continue

  跳过当前循环,执行下一次循环。

  (3)while + else

  while … else 在循环条件为 false 时执行 else 语句块;

  当使用break中断循环时,else中的语句也不会执行。

上一篇:007_EL表达式的简化用法为什么一般只是省略pageScope


下一篇:增加值使和天乙