关于比较符号’==’号 与 ‘is’
这里主要是为下文铺垫
== 比较操作符:用来比较两个对象是否相等,value做为判断因素
is 同一性运算符:比较判断两个对象是否相同,id做为判断因素
关于copy()与 =
主要是今天在写数组的时候发现了 这个问题
想到了 python中的数组赋值以及对象问题
简单的写一下 好记性不如烂笔头
直接上代码 :
import copy
a = [1,2,3]
c1 = copy.copy(a)
c2 = copy.deepcopy(a)
c3 = a
print "a :",a
print "c1 copy :",c1
print "c2 deepcopy :",c2
print "c3 = :",c3
print "c1 = a :",c1 == a
print "c2 = a :",c2 == a
print "c3 = a :",c3 == a
print "c1 is a :",c1 is a
print "c2 is a :",c2 is a
print "c3 is a :",c3 is a
print "单个赋值 :a2 = 10"
a[2] = 10
print '-'*10
print "a :",a
print "c1 copy :",c1
print "c2 deepcopy :",c2
print "c3 = :",c3
print "c1 = a :",c1 == a
print "c2 = a :",c2 == a
print "c3 = a :",c3 == a
print "c1 is a :",c1 is a
print "c2 is a :",c2 is a
print "c3 is a :",c3 is a
print "整体赋值 :10 1 1"
a = [10,1,1]
print '-'*10
print "a :",a
print "c1 copy :",c1
print "c2 deepcopy :",c2
print "c3 = :",c3
print "c1 = a :",c1 == a
print "c2 = a :",c2 == a
print "c3 = a :",c3 == a
print "c1 is a :",c1 is a
print "c2 is a :",c2 is a
print "c3 is a :",c3 is a
# 这里是输出
'''
a : [1, 2, 3]
c1 copy : [1, 2, 3]
c2 deepcopy : [1, 2, 3]
c3 = : [1, 2, 3]
c1 = a : True
c2 = a : True
c3 = a : True
c1 is a : False
c2 is a : False
c3 is a : True
单个赋值 :a2 = 10
----------
a : [1, 2, 10]
c1 copy : [1, 2, 3]
c2 deepcopy : [1, 2, 3]
c3 = : [1, 2, 10]
c1 = a : False
c2 = a : False
c3 = a : True
c1 is a : False
c2 is a : False
c3 is a : True
整体赋值 :10 1 1
----------
a : [10, 1, 1]
c1 copy : [1, 2, 3]
c2 deepcopy : [1, 2, 3]
c3 = : [1, 2, 10]
c1 = a : False
c2 = a : False
c3 = a : False
c1 is a : False
c2 is a : False
c3 is a : False
'''
关于 = 号
1 . 相当于引用
2 . 当a重新声明的时候 两者互不相关
关于copy
关于deepcopy
在目前的实践中 这俩貌似一样
就是复制一份
互相不相关