- 主题:弱问....
菜鸟又来了:)
已知:
>>> b=6
>>> c=b
>>> print(c)
6
>>> c=c+7
>>> print(c)
13
>>> print(b)
6
也就是说,虽然c=b,但c值改变之后,b并不会变。
换成列表之后,规则不一样了:
>>> list1=[1,2,3]
>>> list2=list1
>>> print(list2)
[1, 2, 3]
>>> list2.append(4)
>>> print(list2)
[1, 2, 3, 4]
>>> print(list1)
[1, 2, 3, 4]
也就是说,当list2=list1,且list2变化,list1也跟着变了。
这规则是怎么解释的?
--
FROM 118.212.215.*
搜下深浅拷贝
【 在 HYNOS (原来是谁谁) 的大作中提到: 】
: 发信人: HYNOS (原来是谁谁), 信区: Python
: 标 题: 弱问....
: 发信站: 水木社区 (Sat Apr 30 17:16:55 2022), 转信
:
--
FROM 117.136.116.*
另外,已知list2=list1是可以的,但list2=list1.append(5)为啥不行,print(list2)
返回值是none。。
比如:
list1 = [91, 95, 97, 99]
list2 = [92, 93, 96, 98]
list3=list1.append(list2)
print(list3) #返回None
list4=list1.append(96)
print(list4)#也返回None
【 在 HYNOS 的大作中提到: 】
: 菜鸟又来了:)
: 已知:
: >>> b=6
: ...................
--
FROM 118.212.215.*
可以看这个
https://docs.python.org/zh-cn/3/glossary.html#term-mutable
mutable可以做原地修改,Python的规则是做原地修改的方法返回值为空
--
FROM 223.93.3.*
官方文档点左上角下拉框可以切换简中版本
--
FROM 223.104.163.*
谢谢
看了一会中文版,发现还不如看英文版更清楚,当然前提是对其中的术语有所了解。。。
【 在 freesand 的大作中提到: 】
: 官方文档点左上角下拉框可以切换简中版本
--
FROM 118.212.215.*
这些问题,挺有深度的
所以 个人觉得 学计算机,还是要科班一点
用几个月时间,别急,看一下计算机系统结构,再大概看一下编译原理
以后无论学什么语言,直接上手了
【 在 HYNOS 的大作中提到: 】
: 菜鸟又来了:)
: 已知:
: >>> b=6
: ...................
--
FROM 47.144.172.*