python小问题
>>> a>>> a + b
>>> c= a + b
>>> c
>>> b.sort()
>>> c
>>> b
python里的组名称只是一个指向其标签,那么这里怎么解释呢? 希望大佬能够解释下,谢谢{:5_91:} >>> a----->
>>> a + b--->
>>> c= a + b
>>> c----->
>>> b.sort()-->
>>> c----------->
>>> b----------->
哪个指向不明确? lubcat 发表于 2017-2-15 22:16
>>> a----->
>>> a + b--->
>>> c= a + b
感觉 c 的指向不是很理解
我的理解是 c - - - - >
因为 b 已经指向了 凡是赋值操作都会在新的地址产生新的值,已经与原来的变量无关了 L0V3J 发表于 2017-2-15 22:51
感觉 c 的指向不是很理解
我的理解是 c - - - - >
因为 b 已经指向了
你可以试试b.sort()之后
再把a+b赋值给c
这时的c应该包含排序后的b了。 冬雪雪冬 发表于 2017-2-16 11:08
凡是赋值操作都会在新的地址产生新的值,已经与原来的变量无关了
>>> b =
>>> c = b
>>> b.sort()
>>> b
>>> c
但是这样又是与原来的变量同步啊,视频中讲的这个变量只是指向它的啊 lubcat 发表于 2017-2-16 19:14
你可以试试b.sort()之后
再把a+b赋值给c
这时的c应该包含排序后的b了。
>>> b =
>>> a =
>>>
>>> b.sort()
>>> c = a + b
>>> c
这样是排序后的b,但是是为什么 L0V3J 发表于 2017-2-17 16:50
>>> b =
>>> c = b
>>> b.sort()
>>> b = 赋值产生一个新地址,地址1
>>> c = 赋值产生一个新地址,地址2
>>> c = b 注意这里,赋值后c不在原来的地址2了,而是地址1了。
>>> b.sort() 对地址1的数值排序
>>> b
>>> c 当然c也是排序后的值了。
L0V3J 发表于 2017-2-17 16:53
>>> b =
>>> a =
>>>
我认为,这说明sort方法改变了原来的列表,返回的是排序后的新列表。 冬雪雪冬 发表于 2017-2-17 17:00
>>> b = 赋值产生一个新地址,地址1
>>> c = 赋值产生一个新地址,地址2
>> ...
>>> ab储存在地址0,a储存在地址1
>>> a + b 在地址2
>>> c= a + bc在地址2
>>> cc就不因为b地址1的改变而影响
>>> b.sort()
>>> c
>>> b
这样理解对的吧 lubcat 发表于 2017-2-17 17:18
我认为,这说明sort方法改变了原来的列表,返回的是排序后的新列表。
哦哦,谢谢啦
页:
[1]