加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python不同的代码结果

发布时间:2020-12-20 11:46:41 所属栏目:Python 来源:网络整理
导读:参见英文答案 How to clone or copy a list?????????????????????????????????????20个 我刚刚开始学习和阅读Python,并且在阅读本书的前几章时,我一直难以理解.我在和翻译一起玩的时候偶然发现了这个. 这是我的问题,这两个表达式的值如何不同.在第一个示例中
参见英文答案 > How to clone or copy a list?????????????????????????????????????20个
我刚刚开始学习和阅读Python,并且在阅读本书的前几章时,我一直难以理解.我在和翻译一起玩的时候偶然发现了这个.

这是我的问题,这两个表达式的值如何不同.在第一个示例中,y的值在更改x后保持不变,而在下一个示例中,当更改x时,它也会更改y的值.

例1:

>>> x = 5
>>> y = x
>>> x += 1
>>> x
6
>>> y
5

示例:2

>>> x = [5]
>>> y = x
>>> x[0] = 6
>>> x
[6]
>>> y
[6]

解决方法

它关于python的参考.什么时候

a = [2]
b = a

这里a和b都引用[2].你可以通过id检查它

>>>id(a)
3066750252L

>>>id(b)
3066750252L

两者都是相同的ID.所以a.append或b.append都会影响a和b.那就是[2].这是在可变对象的情况下.所以[0] = 6也会影响b.如果是整数,它不会影响因为,int是不可变对象.所以

>>>a = 2
>>>id(a)
164911268
>>>a = a + 1
>>>a
3
>>>id(a)
164911256

这里id改变了.这意味着创建了新的int对象3.它现在通过变量a引用.

希望这可以帮助

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读