python的“=”与C++的区别

发布时间:2019-06-13 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了python的“=”与C++的区别脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

先来看python普通变量传值

data1=1
data2=data1
data2+=1
PRint data2,data1
2 1

对于普通变量python和c是一样的,接下来看看python的列表

data1=[1,2,3,4]
data2=data1
data2+=[5]
print data1
[1, 2, 3, 4, 5]
print data2
[1, 2, 3, 4, 5]
data1=[1,2,3,4]
data2=data1
data2.apPEnd(5)
print data1
[1, 2, 3, 4, 5]
print data2
[1, 2, 3, 4, 5]
data1=[1,2,3,4]
data2=data1
data2=data2+[5]
print data1
[1, 2, 3, 4]
print data2
[1, 2, 3, 4, 5]

由此可以看到python list传值时,传递的是指针。但是从上面代码可以看到data2=data2+[5]跟前面运行结果不一样,这是因为data2=data2+[5]在Python中应该是分两步运算的,先把右值传递给栈内的一个变量,然后再把这个变量传给data2,所以运算后data1跟data2的指针不在一起。
由于python中的元组相当与C中的常量数组,不分析元组,接下来看看python中的字典变量

data1={}
data1["ont"]="st1"
data2=data1
data1[2]="st2"
print data1
{2: 'st2', 'ont': 'st1'}
print data2
{2: 'st2', 'ont': 'st1'}

字典中传递的也是地址,接下来看看一种特殊的字典,即字典中对应的值是个list

from collections import defaultdict
data1=defaultdict(list)
b=data1["one"]
b.append("1")
b.append("2")
print data1
defaultdict(<type 'list'>, {'one': ['1', '2']})
print b
['1', '2']

脚本宝典总结

以上是脚本宝典为你收集整理的python的“=”与C++的区别全部内容,希望文章能够帮你解决python的“=”与C++的区别所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。