python中的变量和数组的赋值和地址的关系

若程序中只是使用数据的值,那么和地址没什么关系,但若做为程序检测某个地址中的数据变化,则可能会出现问题

同名变量赋值

变量被常量赋值,会修改变量的地址变量之间赋值,会将值和地址都赋值

a=448
b=a
print(id(a))#1546558511696
print(id(b))#1546558511696
b=2000
a=b
print(id(a))#1546566231600
print(id(b))#1546566231600

数组的赋值

a=b会修改a的值和地址,a[:] =b,不修改地址,只是修改a中的值

a=[1,2]
b=[2,3,4]
print(id(a))  #1867811135360
print(id(b))
a[:]=b     #1867813985792
print(id(a)) #1867811135360
a=b
print(id(a))  #1867813985792

你可能感兴趣的:(笔记,python)