什么是原地操作:

例子: 列表在append添加一个元素后,没有产生新副本,再次打印的时候多了一个值,这个appned就是原地操作

由此可见,原地操作有以下特点:

  1. 没有返回值(返回值为None)
  2. 改变作用对象(不会产生副本)

所有不可变对象肯定没有原地操作,但是可变对象一定就是原地操作吗?

  不一定,如:

  1. list中的pop(),popitem()方法,都会产生返回值
  2. 字符串的upper()方法,也会产生返回值
posted on 2019-10-18 10:29  咔咔小乌龟  阅读(1709)  评论(1编辑  收藏  举报