python 中赋值 copy() 与 ' = ' 号以及比较符'=='号 与 'is'

关于比较符号’==’号 与 ‘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
在目前的实践中 这俩貌似一样
就是复制一份
互相不相关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值