Ptyhon 变量的赋值详解

1、固定变量赋值

在这里插入图片描述
图1
在这里插入图片描述
图2
根据上面显示的图1,来进行图2的赋值操作,下面进行详细说明。
定义变量s1 >>>s1=‘nihao’
定义变量s2等于s1 >>>s2=s1
打印s1的内存地址 >>>print(id(s1))–>10164800
打印s2的内存地址 >>>print(id(s2))—>10164800
由此可以看出,s2和s1内存地址一样,同时指向‘nihao’字符串。
给变量s1重新赋值 >>>s1=‘nihaoma’
打印s1的内存地址 >>>print(id(s1)) —>10164960
打印s2的内存地址 >>>print(id(s2)) —>10164800
由以上两步操作可以看出,s1重新赋值以后,新的内存地址不在是原始的内存地址,而是重新指向新的’nihaoma’字符串所对应的内存地址上,但是,s2还是原来的内存地址,并未变化,因此s2的值也不会更改,还是‘nihao’字符串

2、可变变量赋值

在这里插入图片描述
图3
在这里插入图片描述
图4
根据上面显示的图3,来进行图4的赋值操作,下面进行详细说明。
定义可变的L1变量>>>L1=[1,2,3,4,5]
将L1变量赋值给L2变量 >>>L2=L1
查看L2的值 >>>L2 —>[1,2,3,4,5]
查看L1的内存地址>>>print(id(L1))—>9618816
查看L2的内存地址>>>print(id(L2))—> 9618816
由以上可以看出,赋值操作,被赋值的变量地址和赋值的变量地址是一样的。
L1新增>>>L1.append(6)
查看L1和L2的值都为
[1,2,3,4,5,6]
查看L1的内存地址>>>print(id(L1))—> 9618816
查看L2的内存地址>>>print(id(L2))—>9618816
由以上操作可以看出,更改后的L1内存地址并未改变,但是值改变了,L2的内存地址也没改变,但是值改变了,所以,可变的变量如果只是单纯的对数据进行更改,例如增删改,都不会改变内存地址,只是值改变了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值