list是动态长度的,在必要时会重新分配内存 这里的* 和 *=是两个不同的指令,不同的指令导致分配的内存不一样。 a * 10 是将会调用list_repeat
*
*=
a * 10
list_repeat
而 *= 会调用 list_inplace_repeat
list_inplace_repeat
另一个例子
想看底层的话有一本《python源码剖析》
最后推荐一下教我的大佬的博客: 有很多关于Python源码的知识,更新了更详细全面的解释:
因篇幅问题不能全部显示,请点此查看更多更全内容