li[:]到底是什么,引用,值,还是都不是?
使用li[:] = []可以清空li,这里li[:]的行为像是一个对li的引用;但
li2 = li[:]
li2.append( "a ")
不会改变li的值,li[:]的行为又像是一个值。
li[:]到底是什么,引用,值,还是都不是?
初学Python,谢了。
[解决办法]
li[:] = []
#这是把li更改为空的列表,是引用
li2 = li[:]
#li[:]是li从第一项到最后一项的一个切片.只是li的一个复本
[解决办法]
li[:] = .. 调用li的__setslice__方法
... = li[:] 调用li的__getslice__方法
del li[:] 调用li的__delslice__方法
[解决办法]
值和引用是对立又统一。